【问题标题】:Inject managed-bean property into custom converter将托管 bean 属性注入自定义转换器
【发布时间】:2012-01-30 08:12:26
【问题描述】:

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

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

【问题讨论】:

    标签: list jsf properties javabeans converter


    【解决方案1】:

    在某些情况下,当您需要将 ManagedBean、EJB 等 bean 注入 ConverterValidator 时,您可以尝试将 ConverterValidator 注释为 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 的示例。

    【讨论】:

    • +1 我还要注意,Converter 必须通过托管 bean 值绑定表达式而不是通过注册的转换器 ID 来引用。
    猜你喜欢
    • 2013-04-03
    • 2013-09-01
    • 2011-06-11
    • 2015-03-11
    • 2012-06-27
    • 1970-01-01
    • 2023-03-27
    • 2016-09-01
    • 1970-01-01
    相关资源
    最近更新 更多