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始终为空。调试后我意识到 setIdProcess 方法被称为AFTER @PostConstruct

我知道注入是在构建 bean 之后完成的,并且所有 managedProperties 都可以在@PostConstruct.

我错过了什么?

4

1 回答 1

0

仅供参考,我认为这篇文章的问题是MYFACES-3116,已经固定在 ,所以 2.0.6、2.1.0 和更高版本没有它。

于 2011-07-11T02:13:29.390 回答