| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Struts 2: Странные проблемы с маппингом |
| Автор: MaxPayneC 18.3.2010, 10:06 | ||
| В маппинге указано несколько экшнов, один прописан в качестве default-action-ref. При запросе в браузере некоторых экшнов, например ShowCard, почему-то выполняется метод execute() экшна MainPage. struts.xml:
Никакой закономерности в том, для каких именно экшнов появляется такая проблема, заметить не удалось. Никто не сталкивался? В чем может быть дело? Еще проблема иногда проявлялась для экшна ShowLibrary. |
| Автор: carper 18.3.2010, 10:22 |
| Попробуйте убрать default-action-ref name="MainPage" и посмотреть как ругнется ShowCard, скорее всего тут что-то попутано с интерсептором или форвародом. Короче, совет простой - отсекайте все лишнее, не похоже, что ошибка в мэппинге, больше на ошибку в коде. А при КАЖУЩИМСЯ отсутствием закономерностей я лично первым делом смотрю на операции ветвления и обработки граничных условий (ну в С++ и Delphi еще очень помогал проход по местам боевой славы типа выделения памяти и работы с указателями) + очень помогает включение логирования, сразу понятно, где ориентировочно происходят чудесные явления. |
| Автор: MaxPayneC 18.3.2010, 10:49 |
| Выявлена первая закономерность: комментируем дефолт-экшн-реф, запускаем, работает нормально. Останавливаем, запускаем, не работает. Раскомментируем, запускаем, не работает. Останавливаем, комментируем, работает. |
| Автор: carper 18.3.2010, 12:34 |
"Не работает" в смысле отрабатывает не тот action? Если так, то что показывает лог? В каком месте происходит этот вызов? Что происходит если оставить только defaultStack? Попробуйте создать страничку с одной кнопкой для вызова ShowCard - проблема остается? Остается всегда, даже если вместо ShowCard подсунуть класс-пустышку и написать <result>/fakeEmpty.html</result> ? Кстати, какой контейнер используется? Версия STRUTS? |
| Автор: MaxPayneC 18.3.2010, 12:38 |
| Версия стратс 2.1.8.1. Интерсепторы сносить пробовал, я пробовал сносить все, кроме собственно проверяемого экшна. Исправил структуру проекта на дефолтную мавеновскую, проблема вроде исчезла. Вероятно, беда была в том, что при перед стартом томката из ИДЕ в папке с билдом артефакта не обновлялся struts.xml. Если проблема больше не появится, помечу тред как решенный.. |