奇妙な動作があります: で注釈が付けられたメソッド@PostConstruct
が 2 回呼び出されます。
それをデバッグすると、コマンド リンクのアクション メソッドmbean.edit
が呼び出される前に検索ページがそれを呼び出していることがわかりました。私のビーンMBeanSearch
はリクエストスコープで、MBean
ビュースコープです。
私のビューsearch.xhtml:
<h:commandLink value="#{var.value}" action="#{mbean.edit}">
<f:param name="id" value="#{var.id}"/>
</h:commandLink>
ターゲット ビュー var.xhtml もあります。
MBean
私の豆からの関連抽出物:
public String edit() {
return "/pages/var.xhtml";
}
@PostConstruct
public void initialize() { }
このコードで@PostConstruct
は、編集メソッドの後に my が呼び出され、後で再度呼び出されます。
@PostConstruct
を間違った方法で使用していると思います (MBean
メソッドの前に起動する必要があると思います)。しかし、検索ページとは別のページでオブジェクトを編集する代替手段は何でしょうか?