2015-12-31 28 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會在需要的時候設置上面,但它仍然是一個抽象不必設置相同的屬性在同一頁面中所有組件的這個問題。