2012-09-26 126 views
0

給定一個類A爪哇EL:訪問嵌套屬性

public class A { 
    private String foo; 

    //getter, setters etc... 

} 

可以一個引用foo屬性如果A對象本身在託管bean公開爲屬性,例如:

@ManagedBean 
public class SomeBean { 
    private A a; 

    //getter, setters etc... 

} 

#{someBean.a.foo}

+0

是的,就像那樣。只要你有吸氣劑,你可以依次訪問屬性。 EL表達式相當於在類中執行'someBeanInstance.getA()。getFoo()'。 – Gamb

+0

@Gamb關於修改'foo'有什麼用?請問相應的代碼看起來像'someBeanInstance.getA()。setFoo(「Hello world」)'? – Paranaix

+0

類似''?它也會起作用。你試過了嗎? – Gamb

回答

2

確實,它會工作。用於設置和獲取價值。輸入如:

<h:inputText value="#{someBean.a.foo}" /> 

都將獲得的值,以顯示它,並通過執行任一

beanInstance.getA().getFoo(); 

beanInstance.getA().setFoo("newValue"); 

設定新定義的值只要考慮到對這個工作,並避免得到一個NullPointerException,getA()不能返回null,這意味着你的a對象必須是我nstantiated。