我对JSF中的Oncomplete
事件感到困惑。我正在使用primefaces。
以下是我在XHTML中的内容: -
<p:commandButton id="createFruitBag" value="Create Fruit Bag" styleClass="ui-priority-primary create-fruit-button" rendered="#{(fruitShoppingEvent.fruitBean.Status eq 'Shopped') and authenticatedUser.UserType() ne 'guest'}"
actionListener="#{OrderShopEvent.returnBag}" oncomplete="if (args && args.validationFailed) { resultDlg(status,args); } "
tabindex="520"
/>
触发actionListener,代码进入函数 - returnBag()
但是在相同的Oncomplete中,如果我有一个else子句,也就是说,如果验证为真(从actionListener返回),代码应该转到checkOut页面,如果它是false,那么它应该调用javascript函数。但是当设置了else时,代码永远不会进入actionListener,而是直接进入checkOut页面。
我的其他事情是这样的 -
oncomplete="if (args && args.validationFailed) { resultDlg(status,args); } else { #{OrderShopEvent.redirectToCO()} } "
我的问题是: - 1 - 渲染或点击的onComplete触发? 2 - 如果我只想点击它,我该如何处理呢?
我已经详细介绍了@BaluC和其他人的例子,但我无法理解这一点。
非常感谢。