Hola ahroa tenog un problema
imaginaos que una clase me devuelve una lista de objetos, que cada uno de estos objetos aparete de sus propiedades tiene dentro tambien otra lista de otros objetos.
el problema lo tengo ahor apara pintar estos ultimos objetos que estan en la segunda lista.
Me podeis ayudar?
Por ejemplo:
este arraylist esta compuesto de objetos de tipo:
public class CatalogoCimasForm extends ActionForm {
private Float utmy;
private Float utmx;
private String monte;
private ArrayList Personas
...
metods set/get
public class Personas {
private String nombre
private String edad
...
metod set get
el problema lo tengo para pintar esos segundos objetos que estan en esa segunda lista.
Por ejepmlo hago:
<display:table requestURI="ListadoCimas.do" name="miArray" id="lista" export="true" sort="list" pagesize="20">>
<display:column title="Monte" property="monte" group="1" sortable="true" headerClass="sortable" >
<c:out value="${lista.monte}"/>
</display:column>
<display:column title="utmx" property="utmx" group="2" sortable="true" headerClass="sortable" >
<c:out value="${lista.utmx}"/>
</display:column>
<display:column title="utmy" property="utmy" group="3" sortable="true" headerClass="sortable" >
<c:out value="${lista.utmy}"/>
</display:column>
imaginaos que una clase me devuelve una lista de objetos, que cada uno de estos objetos aparete de sus propiedades tiene dentro tambien otra lista de otros objetos.
el problema lo tengo ahor apara pintar estos ultimos objetos que estan en la segunda lista.
Me podeis ayudar?
Por ejemplo:
este arraylist esta compuesto de objetos de tipo:
public class CatalogoCimasForm extends ActionForm {
private Float utmy;
private Float utmx;
private String monte;
private ArrayList Personas
...
metods set/get
public class Personas {
private String nombre
private String edad
...
metod set get
el problema lo tengo para pintar esos segundos objetos que estan en esa segunda lista.
Por ejepmlo hago:
<display:table requestURI="ListadoCimas.do" name="miArray" id="lista" export="true" sort="list" pagesize="20">>
<display:column title="Monte" property="monte" group="1" sortable="true" headerClass="sortable" >
<c:out value="${lista.monte}"/>
</display:column>
<display:column title="utmx" property="utmx" group="2" sortable="true" headerClass="sortable" >
<c:out value="${lista.utmx}"/>
</display:column>
<display:column title="utmy" property="utmy" group="3" sortable="true" headerClass="sortable" >
<c:out value="${lista.utmy}"/>
</display:column>
Pero aqui quisiera pintar tantos nombres como hay en la segundalista
Como lo hariais?
muchas gracias
----- Original Message -----From: Leonel Gonzalo LarretaSent: Tuesday, October 03, 2006 2:44 AMSubject: Re: [Java] uso de la libreria displaytagSi estas utilizando la ultima version de esta libreria
puedes usar el jsp de la forma que te lo escribo debajo directamente
por defecto toma el nombre del array a mostrar del request.
Ahi es donde estaba tu error en el codigo, fijate q en el action de struts estas seteando tu array en el request y luego en el jsp lo intentas sacar de la session.
Por lo tanto puedes dejar tu action de struts como lo tienes, y poner el codigo q te paso en el jsp.
O modificar tu action de struts y luego usar los objetos implicitos q tiene el display tag, puedes leer un poco sobre el tema en la web oficial.
saludos,
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/WEB-INF/c-rt.tld" prefix="c-rt"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; />
<title>listado de montes</title>
</head>
<display:table name="miArray">
<display:column title="monte" property="monte" />
<display:column title="Coordenada X" property="utmx" />
<display:column title="Coordenada Y" property="utmy" />
</display:table>
</body>
</html>
Miren Urkijo wrote:Hola estoy intentando empezar a usar la libreria displaytag.
Os comento.
un action de strtus me devuelve un arraylist de objetos:
request.setAttribute("miArray",miArray);
forwardPage = mapping.findForward("success");
este arraylist esta compuesto de objetos de tipo:
public class CatalogoCimasForm extends ActionForm {
private Float utmy;
private Float utmx;
private String monte;
...
metodos set/get
y en la pagina jsp pretendo pintarlo en una tabla con la libreria displaytag
con este codigo pero no me funciona:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/WEB-INF/c-rt.tld" prefix="c-rt"%>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c"%>
<%
//aqui tomo de sesion el arrayList
ArrayList miArray = (ArrayList)request.getSession().getAttribute("miArray");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; />
<title>listado de montes</title>
</head>
<jsp:scriptlet> request.setAttribute( "miArray", miArray ); </jsp:scriptlet>
<display:table name="miArray">
<display:column title="monte" >
<c:out value="${miArray.CatalogoCimasForm.monte}"/>
</display:column>
<display:column title="Coordenada X" >
<c:out value="${miArray.CatalogoCimasForm.utmx}"/>
</display:column>
<display:column title="Coordenada Y" >
<c:out value="${miArray.CatalogoCimasForm.utmy}"/>
</display:column>
</display:table>
</body>
</html>
Pero esto no me pinta nada.
En mi tomcat he puesto los jar del displaytag pero noconsigo nada.
Me podeis ayudar?
gracias