2013-04-11 63 views
0

我在PrimeFaces 3.3.1的TreeNode組件中的每個節點上都有一個複選框,它在value屬性中拋出javax.el.PropertyNotFoundException。這裏是我的代碼:SelectBooleanCheckbox中的PropertyNotFoundException

<p:tree value="#{CadBean.treeNode}" var="rec"> 
<p:treeNode> 
    <h:outputText value="#{rec.codigo}" /> 
</p:treeNode> 

<p:treeNode type="Funcionality" icon="ui-icon16-weblibrary-folderopened"> 
    <p:selectBooleanCheckbox value="#{CadBean.alreadyAssociated(rec.id)}"> 
     <p:ajax event="click" listener="#{CadBean.onrecClicked(rec.id)}" /> 
    </p:selectBooleanCheckbox> 
    <h:outputText value="#{rec.codigo}" /> 
</p:treeNode> 

<p:treeNode type="Page" icon="ui-icon16-weblibrary-htmlpage"> 
    <p:selectBooleanCheckbox value="#{CadBean.alreadyAssociated(rec.id)}"> 
     <p:ajax event="click" listener="#{CadBean.onrecClicked(rec.id)}" /> 
    </p:selectBooleanCheckbox> 
    <h:outputText value="#{rec.codigo}" /> 
</p:treeNode> 

<p:treeNode type="System" icon="ui-icon16-weblibrary-computer"> 
    <h:outputText value="#{rec}" /> 
</p:treeNode> 

唯一的例外是value="#{CadBean.alreadyAssociated(rec.id)}"拋出。

布爾方法是這樣的:

public boolean alreadyAssociated(int recId) { 
for (Association a : associations) { 
    if (a.getRec().getId() == recId) { 
     return true; 
    } 
} 
return false; 
} 

而這裏的例外:

SEVERE: javax.el.PropertyNotFoundException: /s_ca/cadRec.xhtml @54,122 value="#{CadBean.alreadyAssociated(rec.id)}": Property 'alreadyAssociated' not found on type br.com.tsg.web.beans.CadBean 

我用鑽嘴魚科2.1.9因爲我不能在樹節點使用selectionMode="checkbox"將需要兩個更多的組件與複選框。

謝謝。

+0

您正在使用哪臺服務器? – Thihara 2013-04-11 02:35:05

+2

value =「#{CadBean.alreadyAssociated(rec.id)}」,所以如果你提交,變量將被存儲在哪裏? – 2013-04-11 02:43:45

+0

Ref:http://stackoverflow.com/questions/7580167/are-both-getters-and-setters-mandatory-in-jsfs-managed-beans – 2013-04-11 02:49:25

回答

0

已解決。我必須創建這樣一個方法:

public void setAlreadyAssociated(boolean b) { 
} 

是啊,這是一個糟糕的解決辦法......但解決。

相關問題