在我的.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中的操作。
我不希望在刷新页面时触发操作。 (仅在单击按钮时触发)。
我需要改变什么吗?在没有触发按钮动作的情况下,我需要做什么才能刷新页面?
感谢提前。
答案 0 :(得分:3)
这是由于表单重新提交而发生的。在方法的最后添加这一行。
public void test() {
.......
FacesContext.getCurrentInstance().getExternalContext().redirect("current_page.jsf");
}
current_page
是您当前页面的名称。