这是一个很长时间我无法解决的奇怪问题。希望有人在这里指出我的错误。非常感谢。
基本上,我在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方法,这里是list属性的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>
答案 0 :(得分:0)
您的获取者是getDeviceList()
,因此该属性为deviceList
,而不是railDeviceInfoList
:
<c:forEach items="${station.deviceList}" var="device">
EL并不关心你班级的私人领域。它关心它的JavaBean属性。
答案 1 :(得分:0)
jstl在你的情况下找到getRailDeviceInfoList()方法 但它不存在。 你应该使用station.deviceList而不是station.railDeviceInfoList