我很好奇这两种执行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.实际上,第一种方式更常用.