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 に答える