ich eine Liste von Objekten drucken möchten, die mit dem Freemarker Sprache ein anderes Objekt enthältFreemarker: Liste von Objekten, die ein anderes Objekt enthält
Zum Beispiel habe ich ein Java-Objekt haben:
public class Adress
{
private String _street;
private String _city;
}
und andere Java Objekt:
public class House
{
private int _nb_room;
private Adress _adressHouse;
}
Nachdem ich eine Liste mit den Daten meiner BDD erstellen:
public Collection<House> getHousesList()
{
Collection<House> housesList = new ArrayList<House>();
DAOUtil daoUtil = new DAOUtil("SELECT nb_room, street, city FROM house", bdd);
while(daoUtil.next())
{
House tmpHouse = new House();
tmpHouse.setNbRoom(daoUtil.getString(1));
Adress tmpAdress = new Adress();
tmpAdress.setStreet(daoUtil.getString(2));
tmpAdress.setStreet(daoUtil.getString(3));
tmpHouse.setAdress(tmpAdress);
housesList.add(tmpAdress);
}
daoUtil.free();
}
In einer anderen Datei, die ich die Liste an den html senden:
model.put('houseList',model.put('housesList',getHousesList());
Und in meinem html Ich habe:
<table>
<#list houseList houseTmp>
<tr>
<td>${houseTmp.nb_room!''}</td>
<td>${houseTmp.adressHouse.street!''}</td>
<td>${houseTmp.adressHouse.city!''}</td>
</tr>
</#list>
</table>
Als ich an meinem HTML in meinem Browser sehen gibt es nur die Zahl von Raum, der aber nicht die Adresse druckt, aber wenn ich einen Unterbrechungspunkt mache, bevor ich die Liste zum HTML schicken, gibt es Adresse innerhalb.
Also wie kann ich auf die Adresse des Hauses zugreifen?
Haben Sie 'getAdressHouse()' oder 'getAdress()' in Ihrem 'House' Klasse? – ericbn
Ja, ich habe es, aber ich schreibe es nicht: Ich habe alle Getter und Setter – Kvasir
Haben Sie versucht, $ {houseTmp.adress.street! ''} ''? – ericbn