Я сталкиваюсь с сценарием, в котором, если форма, позволяющая редактировать элемент, имеет пустое поле, действие Struts не вызывается. Страница настраивается с помощью шаблона freeMarker. Звонок приходит к перехватчику и успешно проходит, а затем падает, прежде чем он сможет вызвать метод действия. Из-за этого я не вижу сообщений об ошибках, чтобы выяснить, что происходит не так. Если поле не пустое, действие проходит, и элемент обновляется.Struts 2 Действие не получилось вызвано
Это моя конфигурация Struts для перехватчика, и кажется, все в порядке.
<interceptors>
<interceptor name="loginInterceptor" class="login.interceptor.LoginInterceptor" />
<interceptor-stack name="appStack">
<interceptor-ref name="defaultStack"/>
<interceptor-ref name="loginInterceptor"/>
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="appStack" />
И это действие в Struts.xml
<action name="upDate" method="upDate" class="com.coll.Item">
<result name="success">jsp/item.jsp</result>
<result name="input">jsp/item.jsp</result>
</action>
Поле в item.ftl выглядит следующим образом
<tr>
<td>Prior Order Number</td>
<td><@s.textfield name="item.prevOrdNum" id="prevOrdNum" theme="simple"/></td>
</tr>
Другой озадачивает фактор, так как это небольшой внутренний приложение не обновлялось годами, но эта проблема началась несколько недель назад. Если я полностью удалю это поле на веб-странице или добавлю значение для поля в базу данных, оно не будет пустым при загрузке - обновление пройдет. Я был бы признателен за любые идеи, которые могли бы объяснить, что происходит.
код, который вы указали, не является достаточно, чтобы дать вам идеи, вы можете только догадываться об этом и никогда не решать. –