Я делаю новый проект с struts2. Все хорошо, но я не знаю, что происходит в этом случае.Нет перенаправления цепи с Джакартой в Struts2 (Загрузка больших файлов)
Проект имеет цепь переназначения, когда бизнес-логика терпит неудачу, его возвращение к последнему JSP (последнее действие), чтобы перезагрузить все успешно страницу без программирования работы (его перезарядки старого запроса тоже).
Во всяком случае, когда Jakarta обнаруживает, что пользователь пытается загрузить большой файл (конфигурация по умолчанию 20 МБ), логика действий знает, что и заставляет перенаправление цепи к последнему действию.
Я отлаживаю эту логику. У меня есть перехватчик, что делать несколько вещей, в типичной линии:
result = invocation.invoke();
Когда Jakarta заставляет Перенаправление цепи, захват перехватчика этого нового запрос, но оленьей кожи достичь действий с помощью метода Invoke.
Я не знаю, почему это происходит. Когда одно и то же действие заставляет одно и то же перенаправление цепочки, потому что другие проверки, такие как перехватчик FileUpload для struts2 или собственные проверки, все работают хорошо.
Я решил в программе избежать перенаправления, но я хочу знать, почему я не могу использовать свой обычный режим.
Некоторые части struts.xml:
<constant name="struts.multipart.maxSize" value="20971520" />
Результат MostrarResumenSubsanacion является следующее действие, если все validatios хороши.
Результат MostrarRespuestaSubsanaciones - это последнее действие, если какая-либо проверка не выполняется.
Результат ErrorJakarta - это новая линия для решения проблемы.
<action name="MostrarResumenSubsanacion" class="struts.expedientes.subsanaciones.MostrarResumenSubsanacion">
<param name="conseguirConexion">SI</param>
<param name="seguimiento">SI</param>
<interceptor-ref name="interceptorFileStack"></interceptor-ref>
<result name="MostrarRespuestaSubsanaciones" type="chain">MostrarRespuestaSubsanaciones</result>
<result name="ErrorJakarta">/forms/struts/expedientes/subsanaciones/ventanaRespuestaSubsanacion.jsp</result>
<result name="MostrarResumenSubsanacion">/forms/struts/expedientes/comun/ventanaResumen.jsp</result>
</action>
<action name="MostrarRespuestaSubsanaciones" class="struts.expedientes.subsanaciones.MostrarRespuestaSubsanaciones">
<param name="conseguirConexion">SI</param>
<param name="seguimiento">SI</param>
<interceptor-ref name="interceptorBaseStack"></interceptor-ref>
<result name="MostrarVentanaSubsanaciones">/forms/struts/expedientes/subsanaciones/ventanaRespuestaSubsanacion.jsp</result>
<result name="input">/forms/struts/expedientes/subsanaciones/ventanaRespuestaSubsanacion.jsp</result>
</action>
Большое спасибо! Решено изменить только тип redirectAction на цепочку. – Pevi