28 enero 2008

logic:iterator & bean:write

Ejemplo de como utilizar el logic:iterator & bean:write de Struts.

pagina.jsp
(<)logic:iterate id="iterando" name="lista" scope="session" type="mypackage1.Mensaje">
(<)bean:write name="iterando" property="texto"/>
(<)/logic:iterate>

Ya que el blog no deja incrustar tag's hay que cambiar el (<) por <
____________________________

IterarAction.java
...
HttpSession session;
session = request.getSession();

Vector v=new Vector();
Mensaje a=null;
for(int i=0;i<10;i++){
a=new Mensaje();
a.setTexto("Hola "+i);
v.addElement(a);
}

session.setAttribute("lista",v);
...
____________________________
Mensaje.java

public class Mensaje {
private String texto;
public Mensaje() {
}

public String getTexto() {
return texto;
}

public void setTexto(String texto) {
this.texto = texto;
}
}
____________________________

Detalle del iterate:
id = identificador
name = nombre que desde el action debe ser seteado para llenarlo (session.setAttribute("lista",v))
type = tipo de objeto que contiene la lista o vector a iterar

Detalle del bean:write
name = nombre del iterador correspondiente
property = nombre del atributo del objeto en este caso texto del objeto mensaje (private String texto;)

El resultado que muestra el navegador es:

Hola 0 Hola 1 Hola 2 Hola 3 Hola 4 Hola 5 Hola 6 Hola 7 Hola 8 Hola 9

Nota:
Así se pude lograr iterar lo que sea, tablas, capas, fotos, objetos de cualquier tipo, selectores, combobox, etc.

No hay comentarios: