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

devolver un Map a JSP

Estas en el tema de devolver un Map a JSP en el foro de Java en Foros del Web. Un saludo a la comunidad. Necesito ayuda. Tengo un .JSP en el cual debo mostrar una serie de check box sacados de una base de ...
  #1 (permalink)  
Antiguo 09/02/2006, 20:22
 
Fecha de Ingreso: diciembre-2004
Mensajes: 52
Antigüedad: 19 años, 4 meses
Puntos: 0
devolver un Map a JSP

Un saludo a la comunidad. Necesito ayuda. Tengo un .JSP en el cual debo mostrar una serie de check box sacados de una base de datos (SQL Server). tengo un metodo de una clase que devuelve una variable Map con lo que necesito ("propiedad","valor"), a este metodo tengo que enviarle un valor el metodo es el siguiente:

Código:
public Map getCapasTematicas(String codigoMapaTematico)
como envio el parametro desde JSP y como recibo la variable Map??? Estoy usando Struts y Struts Tags...

Saludos.
  #2 (permalink)  
Antiguo 10/02/2006, 04:57
msi
 
Fecha de Ingreso: marzo-2005
Mensajes: 70
Antigüedad: 19 años, 2 meses
Puntos: 0
Pues una vez que tienes en el HashMap los valores que quieres poner en la página jsp puedes añadir este HashMap a una propiedad de una clase Bean. Esta clase Bean la puedes pasar a un objeto request/session y así en la página jsp puedes hacer:

<logic:iterate id="item" name="datos" property="cconindata">
<tr>
<td><html:multibox property="conindata"><bean:write name="item" property="key"/>
</html:multibox><bean:write name="item" property="value"/>
</td>
</tr>
</logic:iterate>


Suerte.
  #3 (permalink)  
Antiguo 10/02/2006, 08:49
 
Fecha de Ingreso: diciembre-2004
Mensajes: 52
Antigüedad: 19 años, 4 meses
Puntos: 0
Excelente, gracias, pero no me dijiste como enviarle un parametro desde JSP al metodo:
public Map getCapasTematicas(String codigoMapaTematico)
Y como recibir del método los resultados en una variable Map.
creo que usando <% codigo %> es facil, pero quisiera hacerlo con los Tags de Struts.
Saludos
  #4 (permalink)  
Antiguo 10/02/2006, 08:55
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
mmmmmmmmmmmm

para mandarle los parametros a tu public Map getCapasTematicas(String codigoMapaTematico); no lo haces directamente de tu JSP, lo haces en el Action.

got it?
  #5 (permalink)  
Antiguo 10/02/2006, 09:14
 
Fecha de Ingreso: diciembre-2004
Mensajes: 52
Antigüedad: 19 años, 4 meses
Puntos: 0
Cita:
Iniciado por stock
mmmmmmmmmmmm

para mandarle los parametros a tu public Map getCapasTematicas(String codigoMapaTematico); no lo haces directamente de tu JSP, lo haces en el Action.

got it?
mmm... podrias ejemplificarlo?
  #6 (permalink)  
Antiguo 10/02/2006, 16:17
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
ok, aqui te pongo un ejemplo, del action.

para llamar al metodo que quieres llamar(Imagino que debe de estar en el Model), ahora en este ejemplo e puesto un ValueObject para pasar los parametros para seguir con el "estandar" de struts y no pasar un string a la capa del modelo.

Código PHP:
/*
 * ejemplo de un action Algo.java
 */
public class Algo extends Action{
    public 
ActionForward execute(ActionMapping mapping,ActionForm form,
                                 
HttpServletRequest request,HttpServletResponse response)throws Exception{

        
Map map null;
        
TuValueObject vo = new TuValueObject();
        
TuClaseDelModel model = new TuClaseDelModel();

        
//suponiendo que le estas pasando el parametro
        
if(request.getParameter("codigoMapaTematico")!=null){
            
vo.setCodigoMapaTematico(request.getParameter("codigoMapaTematico"));
            
map model.getCapasTematicas(vo); 
        }
        
        
request.setAttribute("resultado",map);
        
        return 
mapping.findForward("list");
    }

have funnnnnnn
  #7 (permalink)  
Antiguo 11/02/2006, 09:17
 
Fecha de Ingreso: diciembre-2004
Mensajes: 52
Antigüedad: 19 años, 4 meses
Puntos: 0
excelente, gracias...
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 10:11.