且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将托管bean属性注入到自定义转换器中

更新时间:2022-04-11 18:04:31

在某些情况下,当您需要将诸如ManagedBean,EJB等的bean注入ConverterValidator时,可以尝试将您的ConverterValidator注释为ManagedBean.例如,您可以尝试以下方法:

In several case, when you need to inject a bean such as ManagedBean, EJB, etc. into a Converter or a Validator, you can try annotating your Converter or Validator as a ManagedBean. For example, you can try this:

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

}

您可以查看(例如Validator上的示例).

You can take a look at this for an example on Validator.