Внедрить свойство управляемого компонента в пользовательский конвертер - PullRequest
8 голосов
/ 30 декабря 2011

Как я могу добавить свойство управляемого компонента в пользовательский конвертер?

Например, общий список, чтобы я мог извлечь свой объект из списка внутри конвертера?

1 Ответ

9 голосов
/ 30 декабря 2011

В некоторых случаях, когда вам необходимо внедрить bean-компонент, такой как ManagedBean, EJB и т. Д., В Converter или Validator, вы можете попытаться аннотировать ваш Converter или Validator как ManagedBean. Например, вы можете попробовать это:

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

}

Вы можете взглянуть на this для примера на Validator.

...