2011-12-30 19 views

Respuesta

9

En varios casos, cuando se necesita inyectar un grano como ManagedBean, EJB, etc. en un Converter o una Validator, puede intentar anotar su Converter o Validator como ManagedBean. Por ejemplo, puede intentar esto:

@ManagedBean 
@RequestScoped 
public class MyConverter implements Converter { 
    @EJB 
    private MrEJBBean mrEJBBean; 
    @ManagedProperty(value="#{mrsManagedBean}")   
    private MrsManagedBean mrsManagedBean; 

    @Override 
    public Object getAsObject(FacesContext context, UIComponent component, String value) {   
     // Convert to object 
    } 

    @Override 
    public String getAsString(FacesContext context, UIComponent component, Object value) { 
     // Convert to string 
    } 

} 

Usted puede echar un vistazo a this para un ejemplo de Validator.

+6

+1 También me gustaría señalar que se debe hacer referencia al 'Convertidor 'a través de una expresión de enlace de valor administrado de bean y no a través de una ID de convertidor registrada. – McDowell

+0

gracias, funciona muy bien ahora :) – djmj

Cuestiones relacionadas