0

我有一个提交 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”方式来做到这一点。

4

2 回答 2

1

我认为<f:ajax>在这种情况下使用 's 属性和 Javascript 是 JSF 方式。

启动另一个 Ajax 请求没有多大意义,例如通知 bean 第一个 ajax 请求正在进行中。它总是延迟和无意义的开销。

基于正在运行的 Ajax 请求(而不是其内容)的状态的更改可以而且应该在客户端进行处理。

于 2013-07-28T17:01:37.123 回答
1

文档说 jsf 使用 onerror 属性处理错误。没有提及执行此操作的 jsf 特定方式。我不相信你还有其他选择。我确定您已经阅读过此内容,但无论如何 这里是文档。

于 2013-07-28T13:23:48.237 回答