奇妙な動作があります: で注釈が付けられたメソッド@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メソッドの前に起動する必要があると思います)。しかし、検索ページとは別のページでオブジェクトを編集する代替手段は何でしょうか?