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 中的操作。

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

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

提前致谢。

4

1 回答 1

4

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

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

current_page是您当前页面的名称。

于 2012-12-06T11:06:23.697 回答