我有一个提交ajax请求的按钮:
<h:commandButton>
<f:ajax listener="..." onevent=".." onerror="" render="panel1" />
</h:commandButton>
<h:panelGrid id="panel1" styleClass="${bean.style}> ....
如果ajax通过更改bean.style成功,我可以更改CSS,但是我也想在发送ajax和ajax失败时更改。例如,我想在用户点击按钮时将样式更改为.panel-inprogress
,失败时.panel-failed
。
我知道我可以在JavaScript中执行此操作,例如在onevent和onerror属性我的代码,但我想知道是否有“JSF”方法这样做。
答案 0 :(得分:1)
文档说jsf使用onerror属性处理错误。没有提到jsf这样做的具体方法。我不相信你有任何其他选择。我相信你已经读过这个了,但无论如何这里是documentation。
答案 1 :(得分:1)
我认为在这种情况下使用<f:ajax>
的属性和Javascript是JSF方式。
启动另一个Ajax请求没有多大意义,例如通知bean第一个ajax请求正在进行中。它总是延迟和无意义的开销。
基于正在运行的Ajax请求的状态的更改(而不是它的内容)可以而且应该在客户端处理。