gpt4 book ai didi

java - 自由标记 : list of objects which contains other object

转载 作者:行者123 更新时间:2023-12-01 10:05:34 25 4
gpt4 key购买 nike

我想使用 FreeMarker 语言打印包含其他对象的对象列表

例如我有一个 Java 对象:

public class Adress
{
private String _street;
private String _city;
}

和另一个 Java 对象:

public class House
{
private int _nb_room;
private Adress _adressHouse;
}

使用我的 bdd 数据创建列表后:

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();
}

在另一个文件中,我将列表发送到 html :

model.put('houseList',model.put('housesList',getHousesList());

在我的 html 中我有:

<table>
<#list houseList houseTmp>
<tr>
<td>${houseTmp.nb_room!''}</td>
<td>${houseTmp.adressHouse.street!''}</td>
<td>${houseTmp.adressHouse.city!''}</td>
</tr>
</#list>
</table>

当我在浏览器上查看 HTML 时,只有打印的房间数量,但没有地址,但是当我在将列表发送到 HTML 之前设置断点时,里面会显示地址。

那么我怎样才能访问到房子的地址呢?

最佳答案

您的 House 类中有一个 private Adress _adressHouse;

Freemarker 不会查看它,而是查看您可能拥有的公共(public) getter。

如果您有getAdressHouse(),请使用${houseTmp.adressHouse.street!''}。如果您有 getAdress(),请使用 ${houseTmp.adress.street!''}

我猜这是第二种情况,正如您声明的tmpHouse.setAdress(tmpAdress);

关于java - 自由标记 : list of objects which contains other object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com