@ManagedProperty вводится ПОСЛЕ @PostConstruct - PullRequest
0 голосов
/ 07 июля 2011

ЭТА ПРОБЛЕМА УЖЕ РЕШЕНА В MYFACES 2.1 РЕАЛИЗАЦИЯ

У меня есть ссылка, которая правильно передает параметр Integer, например:

<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 называется ПОСЛЕ @PostConstruct.

Я понимаю, что внедрение выполняется сразу после создания bean-компонента, и все управляемые свойства доступны в @PostConstruct.

Чего мне не хватает?

1 Ответ

0 голосов
/ 11 июля 2011

Просто для справки, я думаю, что проблема в этом посте MYFACES-3116 , с уже было исправлено на, поэтому 2.0.6, 2.1.0 и более поздние версии не имеют его.

...