この問題は、MYFACES 2.1 実装ですでに解決されています。
次のように整数パラメータを適切に渡すリンクがあります。
<h:link outcome="/process/createProcess">
<f:param name="id" value="#{process.idprocess}" />
Edit
</h:link>
「createProcess.xhtml?id=21」に適切に移動し、リクエスト スコープ バッキング Bean createProcess に次のコードがあります。
@ManagedProperty(value="#{param.id}")
private Integer idProcess;
private Process newProcess;
@PostConstruct
public void init()
{
log();
if (idProcess!=null)
newProcess = Dao.getProcessDAO().get(idProcess);
else
newProcess = new Process();
}
idProcess
それは常にnullであることに気付きました。デバッグ後、 setIdProcess メソッドがAFTER @PostConstruct
と呼ばれることに気付きました。
インジェクションは Bean の構築直後に行われ、すべての managedProperties が で利用可能であることを理解しています@PostConstruct
。
私は何が欠けていますか?