Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/07/2011, 06:14
vdebronik
 
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Struts2: no recoge los datos de un formulario

Hola!

@Xerelo: Eliminar el method no cambia nada... Entra al execute pero con los parametros del form a null. Lo que hay copiado solo es el body de las tiles.

@DonVidela: lo mismo, no funciona...

@hualro: Mi struts.xml es:

Código PHP:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.enable.DynamicMethodInvocation"
        value="false" />
    <constant name="struts.devMode" value="false" />

    <constant name="struts.custom.i18n.resources"
        value="ApplicationResources" />

    <package name="default" extends="struts-default" namespace="/">
    <result-types>          
        <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
    </result-types>
    
    <interceptors>
       <interceptor name="logger" class="actions.AuthenticationInterceptor"/>
      </interceptors>
    
        <action name="login"
            class="actions.LoginAction" method="execute">
            <result name="success" type="tiles">/welcome.tiles</result>
            <result name="admin" type="tiles">/admin.tiles</result>
            <result name="input">Login.jsp</result>
            <result name="error">Login.jsp</result>
        </action>
        
        <action name = "logout"    class="actions.LogoutAction">
             <result name="success" type="redirect">Login.jsp</result>    
         </action>
        
        <action name="modifyUser" class="actions.ModifyUserAction">
            <interceptor-ref name="logger"/>
            <result name ="nologin" type="redirect">Login.jsp</result>
            <result name="success" type="tiles">/confiAlarms.tiles</result>
        </action>
            
    </package>
</struts>
He borrado algunas actions que no viene al caso.
M interceptor logger lo que haces es comprobar si hay una session abierta:

Código PHP:
public class AuthenticationInterceptor extends ActionSupport implements Interceptor {    
    @
Override
    
public String intercept(ActionInvocation arg0throws Exception {
        
// TODO Auto-generated method stub
        
Map session arg0.getInvocationContext().getSession();
        if (
session.get("username") == null) {
            
addActionError(getText("error.nologin"));
              return 
"nologin";
        } else {
          return 
arg0.invoke();
        }
    }


El tiles result funciona en todos los actions bien. El problema es sque mis campos del formulario, llegan como null a ModifyUserAction. java.

Muchisimas gracias!. Un saludo