En mi struts 2 proyecto cuando se utiliza redirigir la acción i m perder todos mis valores, tales como la acción de error y el campo de los errores.

Lo he buscado en la red y encontré 2 opciones

  • De la cadena – Esto no se usa mucho donno por qué ..
  • MessageStoreInterceptor – Este debe ser colocado en cada acción

Así que ¿puede alguien por favor me deja saber cuando es la redirección(o RedirectAction) preferido y cuando es la cadena preferida.

No es necesario para mantener la acción o en el campo de los errores entre las solicitudes. Por favor explique en detalle lo que usted está tratando de hacer, para que podamos ayudarle a encontrar la solución adecuada.

OriginalEl autor Vipin | 2011-01-21

2 Comentarios

  1. 12

    Redirigir una acción pierde el valor de la corriente de la pila (nada en el ámbito de petición) por supuesto, usted puede configurar su acción para preservar estos valores por pasar como parámetros a la siguiente acción, pero es un poco de un dolor.

    Cadena preserva el valor de la pila, por lo que la siguiente acción puede trabajar en los parámetros creados a partir de la acción anterior, sin necesidad de pasar explícitamente, ya que no es esta bola de nieve efecto que usted puede utilizar todos los parámetros en la vista.

    Pero es generalmente reconocido que una de arriba hacia abajo de la solución (tal vez de arriba hacia abajo no es la mejor palabra… ‘estructurado’) es mejor que la construcción de un laberinto de espaguetis acciones.

    Así que cuando usted está bajo presión para conseguir algo de trabajo y no demasiado familiarizado con struts2, a continuación, utilizar la cadena o la redirección, y luego definitivamente volver y arreglarlo! En general, usted debe utilizar un interceptor.

    En el caso de una acción que las rutas a otras acciones basadas en alguna condición sería mejor hacer que un interceptor que se aplican a un paquete y poner todas las acciones que requieren este comportamiento interesante en ese paquete. Entonces es muy claro que las acciones de este se aplica.

    OriginalEl autor Quaternion

  2. 1

    Primera opción

    <action name="remove" class="com.action.firstAction" method="remove">
             <result name="success" type="redirectAction">
                secondaction
                <param name="actionName">secondaction</param>
                <param name="namespace">/</param>
                <param name="param name">${param value}</param>
            </result>           
        </action>
    <action name="secondaction" class="com.action.secondAction" method="result">
        <result name="success">result.jsp</result>
    </action>
    

    Otra opción

    <action name="remove" class="com.action.firstAction" method="remove">
         <result name="success" type="chain">secondaction</result>
    </action>
    <action name="second action" class="com.action.secondAction" method="result">
        <result name="success">result.jsp</result>
    </action>
    

    OriginalEl autor user2114253

Dejar respuesta

Please enter your comment!
Please enter your name here