2011-03-26 68 views
3

我想在我的commandLink中嵌套多個setPropertyActionListener,但只有一個可以工作。你如何嘗試這個?該命令鏈接設置屬性,然後打開一個對話框,以便基本上初始化對話框。JSF 2.0 f:setPropertyActionListener

這是如何完成的?

<p:commandLink update=":dreamWebSearchFrm" value="#{bundle['dreamModify.search.link.TEXT']}" oncomplete="webSearchDlg.show()"> 
    <f:setPropertyActionListener value="false" target="#{dreamSearchBean.shouldRender}"/> 
    <f:setPropertyActionListener value="true" target="#{dreamSearchBean.shouldRender1}"/> 
</p:commandLink> 

回答

7

您可以使用EL參數並在您的bean上調用單個方法。從該方法,更新任何你想要的。

例如

#{dreamSearchBean.shouldRenderInit(false, true)} 

在你的bean:

public void shouldRenderInit(boolean one, boolean two) { 
    setShouldRender(one); 
    setShouldRender1(two); 
} 
-1

我用下面的命令來設置屬性值

<f:setPropertyActionListener 
     target="#{facRwMappingListBean.facRwMapping.finalActionCdDesc}" 
    value="#{gridData.finalActionCdDesc}" /> 

煤礦工作正常。你的代碼看起來是正確的,除了value =「true」部分。嘗試按照以下方式傳遞布爾值。

value=#{"true"} 
0

我嘗試用

<p:commandLink update=":dreamWebSearchFrm" value="#{bundle['dreamModify.search.link.TEXT']}" oncomplete="webSearchDlg.show()"> 
    <f:setPropertyActionListener value="#{false}" target="#{dreamSearchBean.shouldRender}"/> 
    <f:setPropertyActionListener value="#{true}" target="#{dreamSearchBean.shouldRender1}"/> 
</p:commandLink> 

它與JSF 1.2和RichFaces的正確。