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
.
+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
dzięki to działa bardzo dobrze teraz :) – djmj