2009-11-10 89 views
1

我們如何訪問JSP中的bean屬性?
我試圖如何訪問JSP中的bean屬性?

<core:forEach var="header" items="${command.headerList}" > 
<td><core:out value="${header.columnName}"/></td> 
</core:forEach> 

其中headerList是其具有屬性COLUMNNAME爲myBean列表[吸氣/設定器在類中定義]

Expected:它應該打印在COLUMNNAME值
Actual:它是不是在所有

也打印任何東西我怎麼能訪問的第n個ELEM列入名單?我試圖

${command.headerList[i]} 

Output:沒有顯示。

編輯:#

當我寫

${command.headerList} 

它顯示

[email protected][email protected][email protected]

This is just to let you know that the list is having something

,當我寫

${header} 

foreach循環它裏面顯示:

[email protected]d9d714

That means even header is having value, then why i am unable to print values using

${header.columnName} 

回答

3

header是在JSP中的隱含對象映射到請求(HTTP)頭。有關隱式對象的完整列表,請參閱the JSP spec

嘗試引用相對於您存儲的範圍的bean(例如requestScope.header)。最好將名稱改爲別的。

+0

+1:導致一個德哦! – BalusC 2009-11-10 22:10:10

+0

哦,我的天啊,現在應該說什麼。 :)我將'header'改爲'header1',它工作。 +10如果我可以:) – 2009-11-11 07:13:41

1

如何才能訪問JSP中的bean屬性? 我試圖

<core:forEach var="header" items="${command.headerList}" > 
<td><core:out value="${header.columnName}"/></td> 
</core:forEach> 

其中headerList是被具有屬性COLUMNNAME的爲myBean的列表[吸氣/設定器在類中定義]

看起來細。會發生什麼呢?

如何訪問列表中的第n個元素?我試圖

${command.headerList[i]} 

看起來很好,只要i初始化和範圍。會發生什麼呢?

當我寫

${command.headerList} 

它顯示

[email protected], [email protected], [email protected] 

它應包括在前面[]在尾部,但對於殘餘它看起來很好,只要您沒有在MyBean類中覆蓋Object#toString()。你有什麼期望?

和當我寫

${header} 

foreach循環內它顯示:

[email protected]d9d714 

看起來細。你有什麼期望?

總結:我不明白你的問題。請詳細說明。發佈SSCCE。講述預期的輸入/輸出。講述實際的輸入/輸出。

編輯您已編輯您的問題。那麼,這裏是更新的答案。

${header.columnName} 

預期:它應該在COLUMNNAME
實際打印的價值:它是不是在所有

打印任何東西。然後,它實際上並沒有包含值。要正確測試,覆蓋Object#toString()類似如下:

public String toString() { 
    return "header[" + columnName + "]"; 
} 

而且使用${command.headerList}測試。您還可以將一些System.outLogger語句添加到getter方法,以查看它是否實際被調用並實際返回值。或者如果您瞭解如何使用它,只需運行一個代碼調試器即可。每個像樣的IDE都附帶一個。

下一頁:

${command.headerList[i]} 

輸出:無顯示。

然後沒有有效的i的手段。要正確測試它,請執行以下操作來獲得的第一個項目:

${command.headerList[0]}