我该如何制作自定义类别转换器

时间:2011-12-20 13:44:47

标签: java jsf java-ee

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

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

2, "long description"

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

1 个答案:

答案 0 :(得分:2)

  

我尝试过注入一个实体管理器但是没有用,因为它没有被管理

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

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

  

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

不,绝对不要那样做。你用这种方式混合模型。使用值得信赖的Converter

另见: