JSF阻止commandLink重新加载页面

时间:2014-01-16 13:37:52

标签: javascript jquery jsf

我需要阻止它,因为我在点击按钮时会从页面中丢失参数。

这是我的代码:

<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?

但我的操作使用来自页面的消息,因此需要重新加载表单,但页面不是。

我找到了这个帖子https://stackoverflow.com/questions/18868130/preventing-jsf-commandbutton-from-reloading-the-page/18868374#18868374

我认为可能是我的解决方案,但我不明白他做了什么:(

谢谢高级

2 个答案:

答案 0 :(得分:9)

只需将其设为ajax(异步)按钮,而不是常规(同步)按钮。这是在现有标签内嵌套<f:ajax>的问题。

<h:commandLink ...>
    <f:ajax execute="@form" render="@form" />
</h:commandLink>

execute="@form"告诉JSF处理整个表单(所有输入组件都包含在命令组件所在的表单中)。 render="@form"告诉JSF将整个表单更新为ajax响应(因此,如果您在同一表单中显示消息,它们也会更新)。

不要忘记确保从按钮的操作方法返回nullvoid,否则视图可能会因非null / {{ 1}}导航结果。

另见:

答案 1 :(得分:1)

请记住更改render =“@ none”以不重新加载页面...

<f:ajax execute="@form" render="@none" />