2011-12-30 12 views

Odpowiedz

9

W kilku przypadku, gdy trzeba wstrzyknąć fasoli takich jak ManagedBean, EJB itp do Converter lub Validator, można spróbować adnotacji swój Converter lub Validator jako ManagedBean. Na przykład, można spróbować to:

@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 
    } 

} 

Można spojrzeć na this na przykład na Validator.

+6

+1 Chciałbym również zauważyć, że "Konwerter" musi się odwoływać za pośrednictwem wyrażenia wiążącego wartość zarządzanego komponentu bean, a nie za pośrednictwem zarejestrowanego identyfikatora konwertera. – McDowell

+0

dzięki to działa bardzo dobrze teraz :) – djmj

Powiązane problemy