2013-12-16 36 views
0

我已经实现了一个具有不同命令链接触发ajax调用的操作栏。我的支持bean处理这些操作。在h:commandLink Ajax成功/失败打开模态对话框

<a4j:commandLink value="Save" action="#{actionHandler.perform('save')}" execute="@form" 
oncomplete="" onerror=""> 
</a4j:commandLink> 

OR

<h:commandLink value="Save"> 
    <f:ajax execute="@form" actionListener="#{actionHandler.perform('save')}" 
</h:commandLink> 

我想要实现的是,在我的动作条每个commandlink当AJAX调用有成功/失败然后显示一个模式对话框alongth与像头当前执行的操作的具体信息,消息,重定向URL等。在其他基于请求/响应的框架中,我们通常会返回JSON响应并采取相应措施。但我不知道我们在这里如何实现这一目标。我看着Richfaces(使用中的框架)rich:popupPanel,但找不到任何方式将参数传递给弹出窗口。任何建议?

回答

0

您可以使用a4j:commandLink(或a4j:commandButton)。例如(从RichFaces的4.3项目):

<a4j:commandLink action="#{bean.setupTransactionDetails}" 
    event="onclick" render="transactionDetails" 
    oncomplete="#{rich:component('transactionDetails')}.show()" 
    styleClass="richLink"> 
    <h:outputText value="#{res.transactionType}" /> 
    <f:setPropertyActionListener value="#{res.transactionId}" 
     target="#{bean.transactionId}" /> 
</a4j:commandLink> 

哪里#res.transactionId为参数,transactionDetails是弹出式的名称。