这个commandButton正在运行:
<h:commandButton id="button_updateIt" value="#{i18n.button_update_it}"
action="#{masterBean.update()}">
</h:commandButton>
这个ajax调用正在运行:
<h:commandButton id="button_updateIt" value="#{i18n.button_update_it}">
<f:ajax event="click" render=":form_2:updateMe" />
</h:commandButton>
为什么action属性与ajax结合不起作用?
<h:commandButton id="button_updateIt"
value="#{i18n.button_update_it}"
action="#{masterBean.update()}">
<f:ajax event="click" render=":form_2:updateMe" />
</h:commandButton>
我使用jsf版本2.1.1和java 1.7.0以及GlassFish Server 3.1.2(版本23)
答案 0 :(得分:1)
为什么您要使用点击事件?如果您正在使用该事件,则在调用操作方法之前会重新呈现您的表单。
您需要更改事件类型,或者需要在f:ajax click事件中使用侦听器,而不是在commandButton中使用该操作。
<h:commandButton id="button_updateIt"
value="#{i18n.button_update_it}"
action="#{masterBean.update()}">
<f:ajax render=":form_2:updateMe" />
</h:commandButton>
或
<h:commandButton id="button_updateIt"
value="#{i18n.button_update_it}">
<f:ajax event="click" listener="#{masterBean.update()}"
render=":form_2:updateMe" />
</h:commandButton>