Retroceder   Foros del Web > Programación para sitios web > Java y JSP

Respuesta
 
Herramientas Desplegado
Antiguo 08-abr-2008, 11:57   #1 (permalink)
evitasg ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 36
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.
evitasg está desconectado   Responder Citando
Antiguo 12-may-2008, 16:02   #2 (permalink)
juditnile ha deshabilitado el karma
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
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.
juditnile está desconectado   Responder Citando
Antiguo 12-may-2008, 16:23   #3 (permalink)
Lino-kun ha deshabilitado el karma
 
Avatar de Lino-kun
 
Fecha de Ingreso: mayo-2008
Ubicación: Cuernavaca Morelos Mexico
Mensajes: 120
Enviar un mensaje por MSN a Lino-kun
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
Lino-kun está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Desactivado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 20:48.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93