将参数传递给复合组件操作属性
标题确实说明了一切。
我尝试失败,并显示以下错误:
Illegal attempt to pass arguments to a composite component lookup expression (i.e. cc.attrs.[identifier]).
我的尝试如下所示:
<composite:interface>
<composite:attribute name=\"removeFieldAction\" method-signature=\"void action(java.lang.String)\" />
</composite:interface>
<composite:implementation>
<h:commandButton value=\"Remove\" action=\"#{cc.attrs.removeFieldAction(\'SomeString\')}\"/>
</composite:implementation>
什么是正确的方法?
没有找到相关结果
已邀请:
1 个回复
纤洞需匪
必须在使用复合组件的一侧完成。例如。
复合组件的实现应如下所示
如果这不是您想要的,并且您真的想从复合组件的一面传递它,那么我可以想到两种传递额外参数的方法:使用带有动作监听器的er5ѭ将其作为装饰组件属性传递,或
让JSF在调用操作之前将其设置为属性。但是,两者都没有在复合组件中进行任何更改。您将需要至少请求整个bean作为复合组件的属性。 这是ѭ7的例子。这将在调用操作之前设置属性。
用作
在上面的示例中,bean应该看起来像
如果您遵循特定的约定,甚至可以完全省略
属性。