yo soy muy nuevo en tanto CDI y JSF, y estoy tratando de convertir un código de RichFaces 4 escaparate para usar CDI en lugar de anotaciones JSF.CDI de repuesto para @ManagedProperty
entiendo que puedo usar para reemplazar @Named @MangedBean y @Inject para reemplazar @ManagedProperty. Pero estoy teniendo algunos problemas. Estoy tratando de convertir el ejemplo de Richfaces Tree específicamente.
he realizado los siguientes cambios y sé que esto no es correcto así que por favor no utilice este:
//@ManagedBean
//@ViewScoped
@Named
@SessionScoped
public class TreeBean implements Serializable {
private static final long serialVersionUID = 1L;
// @ManagedProperty(value = "#{cdsParser.cdsList}")
// private List<CDXmlDescriptor> cdXmlDescriptors;
@Inject
private Instance<CDXmlDescriptor> cdXmlDescriptors;
// I also Tried :
// @Inject
// private CDParser cdsParser;
// private List<CDXmlDescriptor> cdXmlDescriptors = cdsParser.getCdsList();
........
Luego añade (y no estoy seguro de que esto es necesario):
@Named
@SessionScoped
public class CDXmlDescriptor implements Serializable { ...
y cambiaron:
//@ManagedBean(name = "cdsParser")
@Named("CDParser")
//@Named
@SessionScoped
public class CDParser implements Serializable{
/**
*
*/
private static final long serialVersionUID = 3890828719623315368L;
@Named
private List<CDXmlDescriptor> cdsList;
no puedo averiguar la forma correcta para reemplazar @ManagedProperty (value = "# {cd sParser.cdsList} ") usando CDI?
esto parece suponer Jboss y no GlassFish ...? – Thufir
@Thufir Esto es Java EE 6 y debe ejecutarse en todos los servidores compatibles. –