2013-02-22 84 views
0

這是一個奇怪的問題,我面對很長時間,無法解決。希望這裏有人能指出我的錯誤。非常感謝。JSP c:forEach錯誤:找不到屬性

基本上,我使用C:forEach標記在JSP遍歷的屬性。但是,它顯示模型類中的列表屬性的「屬性未找到錯誤」。下面是模型類中的屬性代碼:

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> 

回答

0

你吸氣劑getDeviceList(),所以屬性是deviceList,而不是railDeviceInfoList

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

的EL不關心你的類的私有字段。它關心它的JavaBean屬性。

+0

非常感謝您JB Nizet!我學習新東西。我認爲EL關心模特班的私人領域。 – ShadowScorpion 2013-02-22 07:55:07

0

JSTL找到與getRailDeviceInfoList()方法,在你的情況 ,但它是不存在的。 你應該使用station.deviceList代替station.railDeviceInfoList

+0

是的,nrvmodi。 JB Nizet和你都是對的。我太想這樣編程了。 – ShadowScorpion 2013-02-22 08:04:45

相關問題