2016-09-20 84 views
0

爲什麼,如果我在渲染屬性JSF EL有兩個bean的屬性

<c:forEach var="eintrag" items="#{alleEintraege.eintrage}"> 
    <p:commandButton styleClass="btn btn-info" value="bearbeiten" 
        rendered="#{eintrag.email eq '#{mamanagedBean.benutzer.mit.email}'}"/> 
</c:forEach> 

兩個屬性是對兩個值進行比較這段代碼無法正常工作。 如果我把它們放在一個h:outputText標籤,他們顯示正確的文本。 只是在組合他們將無法正常工作。

+0

可能重複。使用'#{eintrag.email eq mamanagedBean.benutzer.mit.email}'。 –

+0

'#{'表示EL表達式的開始,而不是變量的開始。 –

+0

相關:http://stackoverflow.com/questions/12517928/access-map-value-in-el-using-a-variable-as-key –

回答

0

你應該比較這樣的說法:

<c:forEach var="eintrag" items="#{alleEintraege.eintrage}"> 
    <p:commandButton styleClass="btn btn-info" value="bearbeiten" rendered="#{eintrag.email eq mamanagedBean.benutzer.mit.email}"/> 
</c:forEach> 
1

快到了,剛修好的嵌套表達,因爲它會爲String,而不是你期待什麼評價。

你應該爲了收到預期的效果比較同一表達式中兩個bean的屬性。

<p:commandButton rendered="#{managedBean1.email eq managedBean2.email}" />