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

Parámetros en html:link

Estas en el tema de Parámetros en html:link en el foro de Java en Foros del Web. ¿Cómo puedo pasar más de un parámetro en un html:link? Hasta ahora pasaba uno con los atributos paramName, paramProperty y paramId, pero necesito pasar más ...
  #1 (permalink)  
Antiguo 02/08/2006, 07:37
 
Fecha de Ingreso: julio-2006
Mensajes: 60
Antigüedad: 17 años, 9 meses
Puntos: 0
Parámetros en html:link

¿Cómo puedo pasar más de un parámetro en un html:link?

Hasta ahora pasaba uno con los atributos paramName, paramProperty y paramId, pero necesito pasar más de uno

¿Cómo podría hacerlo?
  #2 (permalink)  
Antiguo 02/08/2006, 10:28
 
Fecha de Ingreso: agosto-2006
Ubicación: Monterrey, México
Mensajes: 6
Antigüedad: 17 años, 9 meses
Puntos: 0
Hola! También tenía ese problema y me sugirieron enviar los demás parámetros en la url.

Yo estoy usando struts de java y jsp.

En mi caso, necesitaba enviar dos claves: estadoId y regionId y con el paramProperty solo estaba enviando la regionId, así que el dato del estadoId lo envío por la url o page, separando cada parámetro con &, enviando el parámetro whatNext=valor y el parámetro estado y su valor. Te muestro mi ejemplo y espero te sea útil:

<logic:iterate name="listaRelacion" id="relacion" type="com.curso.modelo.aduana.EstadosXRegion">
<tr>
<td><html:multibox name="RegionEstadoForm" property="relacionesId"><bean:write name="relacion" property="regionId" format="#"/></html:multibox></td> <td><bean:write name="relacion" property="regionDescripcion"/></td> <td><bean:write name="relacion" property="estadoDescripcion"/></td>
<bean:define name="relacion" id="estado" property="estadoId"></bean:define> <td><html:link paramName="relacion" paramId="regionId" paramProperty="regionId" page="/editarRegionEstado.do?whatNext=editarRelacion&esta do=${estado}" onclick="enviaDatos();">Editar</html:link></td>
</tr>
</logic:iterate>

Última edición por Ridd; 02/08/2006 a las 10:36
  #3 (permalink)  
Antiguo 06/08/2006, 05:26
 
Fecha de Ingreso: julio-2006
Mensajes: 60
Antigüedad: 17 años, 9 meses
Puntos: 0
Ridd, he intentado hacer lo que me dices, pero no me sustituye la etiqueta ( ${mail} ) por lo que corresponda, sino que introduce "${mail}" literalmente :S
  #4 (permalink)  
Antiguo 07/08/2006, 06:54
 
Fecha de Ingreso: noviembre-2005
Mensajes: 97
Antigüedad: 18 años, 5 meses
Puntos: 0
Muchisimo más facil que todo eso.

El parametro de paramName anterior seguramente sería un Bean, no? por eso de que le ponias paramProperty tambien.

Lo único que tienes que hacer es definir en el Bean ese, un metodo que devuelva un Map. Por ejemplo, tenemos el Bean persona con edad y sexo.

class Persona{

private String edad;
private String sexo;

public String getEdad(){
return edad;
}

public void setEdad(String string){
edad = string;
}

public void setSexo(String string)....
public String getSexo()...

public java.util.Map getParametrosUrl(){
java.util.Map parametros = new java.util.HashMap();
parametros.put("edad",this.edad);
parametros.put("sexo",this.sexo);
return parametros;
}

} (cierra la clase persona)

Y ahora pones el html:link asi

<html:link action="/action" name="persona" property="parametrosUrl"></html:link>

en el "name" pones lo que antes ponías en "paramName", y en property el nombre de la función que devuelve el Map sin el get (como si fuera una propiedad del bean, solo que realmente no existe, llamara al get de esa propiedad).

Automaticamente Struts te parseará a

<a href="/action.do?edad=25&sexo=Hombre">...


Espero que te sirva de ayuda :)
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 06:56.