我需要阻止它,因为我在点击按钮时会从页面中丢失参数。
这是我的代码:
<h:commandLink styleClass="ui-btn ui-btn-c ui-icon-arrow-r ui-btn-icon-right" value="Continuar" action="#{metaWEB.btnProximo()}" />
我在这里找到了一些结果,比如How make commandButton not fully refresh page? How to use f:ajax?
但我的操作使用来自页面的消息,因此需要重新加载表单,但页面不是。
我认为可能是我的解决方案,但我不明白他做了什么:(
谢谢高级
答案 0 :(得分:9)
只需将其设为ajax(异步)按钮,而不是常规(同步)按钮。这是在现有标签内嵌套<f:ajax>
的问题。
<h:commandLink ...>
<f:ajax execute="@form" render="@form" />
</h:commandLink>
execute="@form"
告诉JSF处理整个表单(所有输入组件都包含在命令组件所在的表单中)。 render="@form"
告诉JSF将整个表单更新为ajax响应(因此,如果您在同一表单中显示消息,它们也会更新)。
不要忘记确保从按钮的操作方法返回null
或void
,否则视图可能会因非null
/ {{ 1}}导航结果。
答案 1 :(得分:1)
请记住更改render =“@ none”以不重新加载页面...
<f:ajax execute="@form" render="@none" />