2016-11-21 65 views
0

我知道這可能是一個愚蠢的問題,但我在這裏運氣不佳。 我正在使用動態Web應用程序庫,與JSF2.0(primefaces)JSF訪問屬性whos名稱以數字開頭

我沒有問題,直到我需要訪問庫衛生組織定義的對象的屬性getter函數名以數

瞭如下

class LibraryObject 
{ 
private String PerfectlyNamedVariable; 
public String get32BitAddress(){ return this.PerfectlyNamedVariable; } 
} 
現在

訪問此「PerfectlyNamedVariable」字符串屬性(我不知道的命名是什麼,我能看到的是公衆的getter函數)在JSF XHTML,通常我會像這樣去做

說LibraryObject的實例是在一個Bean列表以及JSF正在渲染的表

<p:dataTable value="#{MyBean.LibraryObjectList}" var="instance" > 
    <p:column headerText="32 Bit Address"> 
    <h:outputText value="#{instance.32BitAddress}" /> 
    </p:column> 
</p:dataTable> 

並有getter函數開始什麼,但一些它本來沒有被命名的問題,但在這種情況下,我得到這個錯誤

Failed to parse the expression [#{instance.32BitAddress}] 

我真的不能改變庫的源代碼,以調整命名,顯然我的研究能力都達不到標準,發現我自己的今天。 那麼,如何訪問名稱以數字開頭的屬性?

非常感謝您

+2

java如何讓您創建以數字開頭的變量名?這不可能。請參閱https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html。有效的java變量名稱只能以字母,下劃線或美元開頭 –

+0

嗯,我的錯誤,你絕對正確。但是,在我看不到的圖書館中,可能就像你說的那樣,實際變量並不以數字開頭。儘管如此,做getter函數的天才稱它爲get32BitAddress(),它現在被作爲Instance.32BitAddress在JSF中進行訪問,它無法解析並且在那裏被卡住了。 –

+0

剛剛編輯了這個問題,或許它會更有意義你現在 –

回答

0

您可以使用下面的表達式訪問這樣的領域 -

<h:outputText value="${instance.get32BitAddress()}" /> 

使用這種方法,你只能得到價值。你不能設置。由於您在<h:outputText>中使用此值,因此提交表單時不會出現問題。