У меня есть следующее отображение действий в приложении struts.xml
моего приложения, которое отлично работает с Struts 2.3.28.1; вызывает действие /editApplication
, где обрабатывается метод x.ApplicationHandler.edit
.Подстановочные файлы Действие больше не работает после обновления Struts 2.5
<action name="*Application" class="x.ApplicationHandler" method="{1}">
<result name="input">/WEB-INF/application.jsp</result>
<result name="success" type="redirectAction">
<param name="actionName">browseApps</param>
</result>
</action>
После обновления до Struts 2.5 это больше не работает. Попытка вызвать /editApplication
действия показывает ошибку 404:
HTTP Status 404 - There is no Action mapped for namespace [/] and action name [editApplication]
Я рассмотрел распорок 2.5 примечания к выпуску, и не вижу какие-либо упоминаний о новинках в пути подстановочных на основе сопоставления действий работ. Есть ли причина, по которой эта конфигурация больше не работает?
Это из-за SMI, как уже объяснил Александр, и он делает то, что если метод не разрешен, исключение вызывается с отсутствующим методом. Интересно, было бы лучше бросить исключение с «Этот метод не разрешен», wdyt? –
Да, более значимым исключением может быть очень полезно здесь. – john
Я зарегистрировал проблему, касающуюся этого https://issues.apache.org/jira/browse/WW-4640 –