刷新时触发jsf命令按钮操作

时间:2012-12-06 09:48:40

标签: jsf jsf-2

在我的.xhtml页面中,我有2个h:commandButton元素:

 <h:commandButton immediate="true" lang="en" class="msbutton"  action="#{user.changeLanguage()}" value="Test1">
 </h:commandButton>
 <h:commandButton immediate="true" lang="en" class="msbutton"  action="#{user.test()}"   value="Test2">
 </h:commandButton>

我的问题当我刷新页面时,再次触发被点击的最后一个按钮,并执行托管bean中的操作。

我不希望在刷新页面时触发操作。 (仅在单击按钮时触发)。

我需要改变什么吗?在没有触发按钮动作的情况下,我需要做什么才能刷新页面?

感谢提前。

1 个答案:

答案 0 :(得分:3)

这是由于表单重新提交而发生的。在方法的最后添加这一行。

public void test() {
  .......
  FacesContext.getCurrentInstance().getExternalContext().redirect("current_page.jsf");
}

current_page是您当前页面的名称。