我的代码非常简单:
<a4j:commandLink action="#{ticketAboxEventHelper.removeAboxTicket(ticketAbox)}"
onclick="if(!confirm('Are you sure ... ?')) return false;"
reRender="aboxlistpanel">
<h:graphicImage alt="Delete" url="../../img/dialog-error-5.png" title="Delete" />
<a4j:support event="oncomplete"
action="#{editTicketNewAction.testRerender()}"
reRender="aboxlistpanel"
/>
</a4j:commandLink>
点击链接时系统必须
现在我的问题是在动作完成之前重新渲染是hapenning。任何想法如何以正确的方式完成?
答案 0 :(得分:0)
您的操作方法对JSF 1.2无效,您不需要<a4j:support>
。由于您要传递参数,因此应使用<f:attribute />
和actionListener
:
<a4j:commandLink actionListener="#{ticketAboxEventHelper.removeAboxTicket}" onclick="if(!confirm('Are you sure ... ?')) return false;" reRender="aboxlistpanel">
<h:graphicImage alt="Delete" url="../../img/dialog-error-5.png" title="Delete" />
<f:attribute name="ticket" value="#{ticketAbox}" />
</a4j:commandLink>
您的bean方法如下所示:
public void removeAboxTicket(ActionEvent event)
{
TicketAbox ticket = (TicketAbox)event.getComponent().getAttributes().get("ticket");
// Your business logic
}
更多信息:
答案 1 :(得分:0)
解决。我将令人讨厌的JSF代码包装在一起,一切都按预期开始工作。与回答<a4j:commandLink> Not Rerendering相关。我先解决了它,然后发现其他人以同样的方式解决了它。嗯...