0

この問題は、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

私は何が欠けていますか?

4

1 に答える 1

0

参考までに、この投稿の問題はMYFACES-3116で、 で既に修正されていると思いますので、 2.0.6、2.1.0 以降のバージョンにはありません。

于 2011-07-11T02:13:29.390 に答える