在h:commandLink Ajax成功/失败打开模式对话框

时间:2013-12-16 16:41:14

标签: jsf-2 richfaces

我已经实现了一个操作栏,其中包含触发ajax调用的不同命令链接。我的支持bean处理这些操作。

<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>

我想要实现的是,当ajax调用成功/失败时,对于操作栏中的每个命令链接,然后显示模式对话框以及当前执行的操作特定信息,如标题,消息,重定向URL等。在其他请求/响应中基于框架我们通常返回JSON响应并相应地采取行动。但我不知道我们怎么能在这里实现这一目标。我看了Richfaces(使用中的框架)rich:popupPanel但是找不到任何方法将参数传递给popup。任何建议?

1 个答案:

答案 0 :(得分: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是弹出的名称。