0

TreeNodePrimeFaces 3.3.1 组件中的每个节点都有一个复选框,该复选框javax.el.PropertyNotFoundException在其value属性中抛出一个。这是我的代码:

<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

我正在使用 Mojarra 2.1.9 并且不能selectionMode="checkbox"在 TreeNode 中使用,因为我还需要两个带有复选框的组件。

谢谢。

4

1 回答 1

0

解决了。我只需要创建一个这样的方法:

public void setAlreadyAssociated(boolean b) {
}

是的,这是一个糟糕的解决方法......但解决了。

于 2013-04-13T22:04:56.073 回答