将托管bean属性注入到自定义转换器中 [英] Inject managed-bean property into custom converter

查看:102
本文介绍了将托管bean属性注入到自定义转换器中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何将托管Bean的属性注入到自定义转换器中?

How can I inject a property of a managed-bean into a custom converter?

例如,一个通用列表,以便我可以从转换器内部的列表中提取对象?

For instance, a generic List so that I can extract my object from the list inside the converter?

推荐答案

在某些情况下,当您需要将诸如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.

这篇关于将托管bean属性注入到自定义转换器中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆