Foros del Web » Programación para mayores de 30 ;) » Java »

excludeMethods en interceptor workflow (Struts2)[Solucionado]

Estas en el tema de excludeMethods en interceptor workflow (Struts2)[Solucionado] en el foro de Java en Foros del Web. Tengo el siguiente problema, en una jsp hay un formulario donde al entrar en él, realiza una serie de operaciones, y una vez cargado, el ...
  #1 (permalink)  
Antiguo 04/08/2010, 10:33
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
excludeMethods en interceptor workflow (Struts2)[Solucionado]

Tengo el siguiente problema, en una jsp hay un formulario donde al entrar en él, realiza una serie de operaciones, y una vez cargado, el usuario puede subir un archivo. Sobre este archivo, realizo una serie de validaciones usando el método validate() del interceptor workflow.

El caso es que al entrar en el formulario, me ejecuta también el validate, dándome error por no haber fichero que validar. He estado tratando de desactivar el validate() para todos los métodos de Nombre.Clase salvo para el subir(), que es llamado por otra action (aunque pertenece a Nombre.Clase). Estoy utilizando el parámetro excludeMethods, pero por ahora no he conseguido que deje de ejecutarse.

Código PHP:
<action name="cargarDatos"  class="Nombre.Clase">
            <
result>/formulario.jsp</result>
            <
interceptor-ref name="miInterceptor">
                <
param name="workflow.excludeMethods">*</param>
            </
interceptor-ref>
        </
action>
        
        <
action name="subirFichero"  class="Nombre.Clase" method="subir">
            <
result>/formulario.jsp</result>
            <
result name="input">/formulario.jsp</result>
        </
action
¿Alguna idea?

Última edición por Xerelo; 05/08/2010 a las 02:28
  #2 (permalink)  
Antiguo 05/08/2010, 02:27
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: excludeMethods en interceptor workflow (Struts2)

He encontrado la solución aquí

http://www.javahowto.net/struts2/how...call-struts-2/

Código PHP:
<action name="login">
            <
interceptor-ref name="defaultStack" >
                <
param name="workflow.excludeMethods">homePage,logout</param>
                <
param name="validation.excludeMethods">homePage,logout</param>
            </
interceptor-ref>
            <
result name="homePage">/login/login.jsp</result>
            <
result name="input">/login/login.jsp</result>
            <
result name="backToLogin" type="redirectAction">login!homePage.action</result>

 </
action
El problema es que tenía que añadir el excludeMethods al validation. No tengo muy claro por qué él le añade el mismo parámetro al workflow, lo he probado solo modificando el validation y también funciona.

Por si a alguien le interesa, hay una forma todavía más directa, usando en la action la anotación @SkipValidation sobre el método que no queremos que ejecute el validate.

Etiquetas: jsp-servlets
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:55.