Red de conocimiento informático - Problemas con los teléfonos móviles - Tipos de resultados de Struts 2

Tipos de resultados de Struts 2

De forma predeterminada, el valor del atributo de tipo de la etiqueta es "dispatcher" (en realidad, reenvío). Los desarrolladores pueden especificar diferentes tipos según sus necesidades, como redirección, flujo, etc. Como se muestra en el siguiente código:

/result.jsp

Este tipo de resultado se puede encontrar en el paquete struts2-core-2.0.11.1.jar o en el archivo struts-default.xml en el código fuente de struts2. Busque la etiqueta en este archivo. -Los tipos están definidos en él. El código es el siguiente:

En aplicaciones prácticas, el uso de cadenas como resultado sufre muchos de los problemas anteriores, por lo que personalmente no recomiendo el abuso de este resultado. Especialmente para aquellos que usan Spring e Hibernate, si activa el modo OpenSessionInView, la sesión de Hibernate seguirá la HttpServletRequest, por lo que la sesión estará en toda la cadena de operación. Esto traerá grandes problemas a nuestro trabajo de programación. Porque sabemos que la sesión de Hibernate retendrá el caché de primer nivel, ****, disfrutar del caché de primer nivel en la cadena de operaciones sin duda traerá grandes inconvenientes para el trabajo de depuración.

Por lo tanto, el uso cuidadoso de las cadenas de acción como resultados debería ser una mejor práctica.

Redirigir a la URL org.apache.struts2.dispatcher.ServletRedirectResult Si desea ejecutar otra acción después de que se haya ejecutado la acción, existen dos métodos. Con respecto a la diferencia entre reenvío y redirección, no la ampliaré aquí. Esto debería pertenecer al conocimiento básico de los programadores de Java. En Struts2, las dos formas de corresponder al Resultado son encadenamiento y redirección.

Primero, hablemos de la redirección. Dado que es una redirección, habrá dos HttpServletRequests diferentes entre la dirección de origen y la dirección de destino. Por lo tanto, la dirección de destino señalada por ValueStack y otras funciones de Struts2 no estará disponible. Por lo tanto, la dirección de destino no podrá llevar ValueStack y otras funciones de Struts2 a la dirección de destino.

Al mismo tiempo, el resultado de Redirect admite leer y analizar el valor ValueStack de la acción de origen en el archivo de configuración y pasarlo como parámetro a la dirección de Redirect. Redirigir a la acción org.apache.struts2.dispatcher.ServletActionRedirectResult