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

ActionMessage y Struts

Estas en el tema de ActionMessage y Struts en el foro de Java en Foros del Web. Hola! Mi duda consiste en que no soy capaz de usar los ActionMessages :S. Los quiero utilizar, para que al pulsar un boton, que te ...
  #1 (permalink)  
Antiguo 08/04/2008, 11:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 42
Antigüedad: 16 años, 1 mes
Puntos: 0
Sonrisa ActionMessage y Struts

Hola!
Mi duda consiste en que no soy capaz de usar los ActionMessages :S. Los quiero utilizar, para que al pulsar un boton, que te dice si el login con el que te quieres registrar esta disponible o no, aparezca un mensaje en el jsp informando de ello.
Me pueden dar una ayudita?
Graciaas :p.
  #2 (permalink)  
Antiguo 12/05/2008, 16:02
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: ActionMessage y Struts

prueba la siguiente linia:

errors.add("userlogin", new ActionMessage("Registration.error.userid.blacklist ed"));

userlogin es un String cualquiera y el contenido del new Action es la clave con la que va a recuperar el texto del error del fichero .properties que tengas definido.
  #3 (permalink)  
Antiguo 12/05/2008, 16:23
Avatar de Lino-kun  
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 126
Antigüedad: 16 años
Puntos: 2
Re: ActionMessage y Struts

Hola espero poder ayudarte

Los ActionErrors y ActionMessages son instrucciones que a final de cuentas se toman como mensajes que pueden ser visualizados en las paginas JSP estos mensajes puede ser manipulados por el usuario o descritos en un archivo ApplicationResources.properties, este archivo no solo se ocupa para esto, pero esa es otra historia jeje

Ahora mira yo en mis actions hago algo como esto.
Código PHP:
ActionMessages messages = new ActionMessages();
   
fwd=errorMessage(mapping,fwd,messages,request,target,"exception",
                                         
"error.exception.exception1"); 
Donde errorMessage es una función que invente. fwd es una variable de tipo forward y target contiene el nombre de un forward dentro del struts-config.xml, exception es el nombre de cómo se va allamar al mensaje en el JSP y error.exception.exception1 es el nombre del error en el archivo properties.

Código PHP:
public ActionForward errorMessage(ActionMapping mapping,ActionForward fwd,
                                                              
ActionMessages messages,HttpServletRequest       
                                                              request
,String targetString nameMsgString msg){
      
ActionMessage message;
      
message = new ActionMessage(msg);
         
messages.add(nameMsg,message);
         
saveMessages(request,messages);
         
fwd=mapping.findForward(target);
         return 
fwd;
   }

Ahora cada vez que entra a esta función interactúa con el ApplicationResources.properties que contiene algo así

Código PHP:
# Optional header and footer for <errors/> tag.
#errors.header=<ul>
#errors.footer=</ul>
error.postalcode.required=Codigo Postal No esta
error
.postalcode.invalid=Codigo Postal Invalido
error
.exception.exception1=No se pudo obtener el requerimiento 
Ya en el JSP hago algo así.

Código PHP:
<html:messages message="true" id="postalcode2">
      <
bean:write name="postalcode2" />
 </
html:messages
Si lo que deseas es que el error se valide en el formulario puedes hacer esto, en el metodo validate de tu clase form.

Código PHP:
public ActionErrors validate(ActionMapping actionMappingHttpServletRequest request) {
        
ActionErrors errors = new ActionErrors();
        if ((
postalCode == null) || (postalCode.length() < 1))
            
errors.add("postalcode1", new ActionError("error.postalcode.required"));
        return 
errors;
    } 
Y llamarlo en el JSP así.

Código PHP:
<html:errors property="postalcode1" /></td
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 23:43.