【问题标题】:How should I make a custom category converter我应该如何制作自定义类别转换器
【发布时间】:2011-12-20 13:44:47
【问题描述】:

我正在尝试为我的类别模型制作一个自定义 JSF 转换器。我从字段和转换器获得的值是类别 ID。我应该按该 ID 检索类别并返回该对象吗?我曾尝试注入一个实体管理器,但没有奏效,因为它不受管理。我能找到一个人做的帖子,但我不知道是否通常将实体管理器注入转换器。

或者我应该重写Category类中的toString方法,并返回一个字符串比如

2, "long description"

然后使用 toString 作为字段中的值。当我想要它回到一个对象时,我将它拆分并使用类别对象上的设置器。我之前没有使用过转换器,所以我不知道这是否更好?

【问题讨论】:

    标签: java jsf jakarta-ee


    【解决方案1】:

    我尝试注入 entitymanager,但没有成功,因为它不是托管的

    无法在 @FacesConverter 中注入 EntityManager(或者,更好的是 @EJB)是 JSF 规范中的一个疏忽,并计划在即将发布的 JSF 2.2 中修复,该规范应在2012 年第一季度。

    解决方法是将转换器改为@ManagedBean@Named bean,或者通过JNDI 手动获取EJB。

    或者我应该覆盖 Category 类中的 toString 方法,然后使用 toString 作为字段中的值。当我想要它回到一个对象时,我将它拆分并使用类别对象上的设置器。

    不,绝对不要那样做。您以这种方式将视图与模型混合在一起。使用完整的Converter

    另见:

    【讨论】:

    • 好吧,当我在转换器中注入 EJB 时,我没有做任何“错误”?
    • 没有。无论如何,根据即将到来的 JSF 2.2,它将能够“开箱即用”。另请参阅“另请参阅”链接以了解详细信息以及我博客的另一个链接:)
    • 那我试试。几个小时前我开始阅读你关于转换器的博客文章,但被打断了:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 2019-11-30
    • 1970-01-01
    • 2012-09-10
    • 2016-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多