2015-12-31 31 views
0

我有一个复合组件,它有一个id,我希望在复合组件中执行许多可行动作之一时将其作为参数发送。我知道我可以使用类似的东西;发送参数请求复合组件的每个动作

<h:form id="testForm"> 
    <p:commandButton value="#{testReqBean.label}" 
        actionListener="#{testReqBean.perform()}" 
        process="@this or @form" update="@form" ajax="true" > 
      <f:param value="#{cc.attrs.id}" name="CC-Id" /> 
    </p:commandButton> 
</h:form> 

现在,想象我有很多形式或按钮与复合组件内部的具体行动...有没有一种方法来定义我想在请求发送只有一次的参数?我的意思是不在每个表单/按钮(取决于过程@form或@this)中添加一个f:param,而是一个用于整个复合组件?

在此先感谢!

回答

0

也许一种解决方案是使用viewparam,但只有在您可以添加request参数时才有效。

<f:metadata> 
    <f:viewParam value="#{your_bean.your_property_name}" name="request_param"/> 
</f:metadata> 

这里唯一的问题是,谁实现您composite component会在需要的时候设置上面,但它仍然是一个抽象不必设置相同的属性在同一页面中所有组件的这个问题。