0

这是一个奇怪的问题,我已经面临很长时间并且无法解决。希望这里有人能指出我的错误。非常感谢。

基本上,我在 JSP 中使用 c:forEach 标记来循环属性。但是,模型类中的列表属性显示“找不到属性错误”。这是模型类中的属性代码:

private String stnID = new String();
private String stnShortName = new String();
private String stnDesc = new String();
private List<RailDeviceInfo> railDeviceInfoList = new ArrayList<RailDeviceInfo>();

而且我知道 JSP 只能使用 getter 方法,这是我的列表属性的 getter:

public List<RailDeviceInfo> getDeviceList()
{
    return this.railDeviceInfoList;
}

最后,这是我的 JSP 代码:

<c:forEach items="${railList}" var="station">
   <c:out value="${station.stnID}" />
   <c:out value="${station.stnShortName}" />
   <c:out value="${station.stnDesc}" />

   <c:forEach items="${station.railDeviceInfoList}" var="device">
       <!-- can not found station.railDeviceInfoList -->
       <c:out value="${device.id}" />
       <c:out value="${device.name}" />
   <c:forEach>

</c:forEach>
4

2 回答 2

0

你的吸气剂是getDeviceList(),所以财产是deviceList,而不是railDeviceInfoList

<c:forEach items="${station.deviceList}" var="device">

EL 不关心您班级的私有字段。它关心它的 JavaBean 属性。

于 2013-02-22T07:38:02.083 回答
0

jstl 在您的情况下找到 getRailDeviceInfoList() 方法,但它不存在。你应该使用 station.deviceList 而不是 station.railDeviceInfoList

于 2013-02-22T07:51:37.980 回答