Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Parámetros en html:link (http://www.forosdelweb.com/f45/parametros-html-link-414011/)

david.rguez 02/08/2006 07:37

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?

Ridd 02/08/2006 10:28

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>

david.rguez 06/08/2006 05:26

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

Raiko 07/08/2006 06:54

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 :)


La zona horaria es GMT -6. Ahora son las 06:34.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.