2013-04-03 166 views
2

我需要調用像${bean.data1A}這樣的屬性,但屬性名稱中的數字是變量。類似於${bean.data{$n}A},但當n == 1時,它的計算結果爲${bean.data1A}。我該如何實現?使用屬性名稱中的變量調用bean屬性

我有一個像一堆屬性:

${bean.data1A} 
${bean.data2A} 
${bean.data3A} 
etc 

因爲我無法通話,因爲舊的JSP服務器我不得不使用從一個bean參數化方法。


更新:作爲對推理對於這一點,我有數據(18或27行7列)的一個網格,從豆顯示數據。在這個bean中,有一個向量,其中每個元素都包含一個保存行數據的對象(a,b,c,d,e,f,&)g可以使用向量)。

要使用網格,我可以根據需要更改任意多個單元格,然後單擊「更新全部」按鈕。我想使用$ {n}作爲行號的變量的原因是行數將根據顯示的數據年份而改變。我正在使用$ {n}變量在網格的行標籤上打印正確的行號

+0

是不是'F:在版本setPropertyActionListener'您正在使用? –

+0

我打電話給一個get方法來檢索一個值,而不是一個方法 – ZakTaccardi

+0

你爲什麼不給我們更詳細的描述你的情況。它可以幫助很多。我無法看到發送參數來檢索值的需要。如果你需要發送一個參數,比'f:setPropertyActionListener'應該有效。 –

回答

4

可以使用EL's括號表示法[]將變量而不是靜態字符串用作屬性名稱。您可以使用JSTL's<c:set>在EL範圍內創建一個新變量。

因此,所有的一切,這應該這樣做:

<c:set var="property" value="data${n}A" /> 
<c:out value="${bean[property]}" /> 
+0

工作得很好,謝謝! – ZakTaccardi

+0

不客氣。 – BalusC