【发布时间】:2015-12-20 00:51:34
【问题描述】:
我正在尝试构建一个复合 JSF 组件,但在调用方法时遇到了一些问题。我的组件在 a 中有一些输入,并且一个添加按钮负责添加更多对象,用于提供重复的列表。我希望该按钮根据负责它所负责的页面的托管 Bean 调用不同的方法(因此它应该是每个 xhtml 中设置的变量)。但是每次我点击按钮时,我都会收到异常消息:
“com.test.TestMB”类没有“addAction”属性。
这是我的组件:
<composite:interface>
<composite:attribute name="id" required="false" />
<composite:attribute name="value" required="true" />
<composite:attribute name="addAction" required="true" />
</composite:interface>
<composite:implementation>
<ui:repeat value="#{cc.attrs.value}" >
<!-- some inputs and other components -->
</ui:repeat>
<p:commandButton actionListener="#{cc.attrs.addAction}" />
</composite>
这是我的实现:
<cc:compositecomp id="component"
value="#{testMB.list}"
addAction="#{pessoaJuridicaMB.addToListMethod}" />
我的 TestMB 类不仅包含方法,而且如果我将按钮更改为:
<p:commandButton actionListener="#{testMB.addToListMethod}" />
addToListMethod 非常简单:
public void addToListMethod() {
list.add(model); }
关于什么是错误的任何想法以及如何解决它?
【问题讨论】:
-
你试过我的答案了吗?如果它解决了您的问题,请接受它。要将答案标记为已接受,请单击答案旁边的复选标记以将其从空心切换为绿色。
-
很抱歉花了这么长时间才看到你的答案...我刚刚尝试过,但它没有用:我收到 java.lang.IllegalArgumentException:错误数量的参数...任何为什么?
标签: jsf actionlistener composite-component commandbutton methodexpression