1

帮我解决问题。

我使用 Mojarra 2.1.16 和 Tomcat 7。

我有复合组件:

<composite:interface>
    <composite:attribute name="value" default="#{modelsBean.allModels}"
                         type="java.util.List" />
</composite:interface>

<composite:implementation>
    <ui:repeat value="#{cc.attrs.value}" var="model" >
        #{model.name}
    </ui:repeat>
</composite:implementation>

如果我使用它,那么我有下一个错误:

javax.el.PropertyNotFoundException: /resources/panels/modelsView.xhtml
#{model.name}: Property 'name' not found on type java.lang.String

如果我改变

<ui:repeat value="#{cc.attrs.value}" var="model">

<ui:repeat value="#{modelsBean.allModels}" var="model">

然后一切正常。

那怎么修呢?

4

1 回答 1

0

您不能将值表达式分配为default值。有关更详细的说明,请参见此处:JSF 复合组件支持 bean EL 表达式作为所需属性的默认值失败,方法未知

于 2013-01-15T16:48:46.560 回答