property managedproperty inyectar bean jsf-2 annotations myfaces managed-bean

jsf 2 - inyectar - @ManagedProperty inyectado DESPUÉS de @PostConstruct



managed property jsf 2 (1)

ESTE PROBLEMA YA SE HA RESUELTO EN LA IMPLEMENTACIÓN DE MYFACES 2.1

Tengo un enlace que pasa un parámetro Integer correctamente así:

<h:link outcome="/process/createProcess"> <f:param name="id" value="#{process.idprocess}" /> Edit </h:link>

Va a "createProcess.xhtml? Id = 21" correctamente, y tengo este código en el Beans createProcess de respaldo del alcance de la solicitud:

@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(); }

Me he dado cuenta de que idProcess siempre es nulo. Después de la depuración, me di cuenta de que el método setIdProcess se llama AFTER @PostConstruct .

Entiendo que la inyección se realiza justo después de la construcción del bean y que todas las managedProperties están disponibles en @PostConstruct .

¿Qué me estoy perdiendo?


Solo como referencia, creo que el problema en esta publicación es MYFACES-3116 , con el que ya se había corregido, por lo que 2.0.6, 2.1.0 y versiones superiores no lo tienen.