JSF f:ajax listener vs commandButton action

前端之家收集整理的这篇文章主要介绍了JSF f:ajax listener vs commandButton action前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很好奇这两种执行ajax调用的方式有什么区别:
<h:commandButton value="Submit" action="#{bean.action}">
   <f:ajax execute="@form" render="component"/>
</h:commandButton>

<h:commandButton value="Submit">
   <f:ajax listener="#{bean.action}" execute="@form" render="component"/>
</h:commandButton>

人们似乎更频繁地使用第一种方式,但第二种似乎也很好用……

第一种方式允许通过返回String结果进行导航而第二种方式不允许导航.如果客户端已禁用JS,第二种方式将不会调用任何内容,而第一种方式是 gracefully degrades.实际上,第一种方式更常用.

第二种方式是没有action属性的组件的唯一方法,例如< h:selectOneMenu>等等.

猜你在找的Ajax相关文章