2012-05-03 17 views
1

想知道如何设置隐藏字段值,以便在我提交表单时,JSF将其设置为CDI托管bean中对象的ID。inputHidden绑定到备用bean中的长ID字段

我的bean被称为“discussionManager”,它有一个名为'discussion'的对象,它是一个实体,因此具有Long类型的ID。

我需要这个ID,所以我可以查看它并做它的东西。但是,JSF似乎不喜欢数字隐藏字段。虽然字符串字段没问题。确定它与转换器或绑定属性有关,但无法获得语法。这是我尝试的最简单的形式。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}"/> 

我试过很多变化。任何人都可以指出我正确的方向吗?

谢谢

回答

1

你确实需要明确指定一个转换器。 JSF内置LongConverter是适合的。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}" converter="javax.faces.Long" /> 
+0

哦,我正在尝试使用javax.faces.convert.LongConverter。我在另一篇文章上看到了你的版本,并且找不到任何文档,所以认为它是错误的,然后看了看包的内容。我会试试看(当我的服务器终于恢复正常并测试它时)会回发。谢谢 – Richard

+0

在'LongConverter' Javadoc中,检查'CONVERTER_ID'常量。这正是该转换器ID值:http://docs.oracle.com/javaee/6/api/constant-values.html#javax.faces.convert.LongConverter.CONVERTER_ID – BalusC

+0

谢谢,这是真正有用的知道。我吮吸JSF,我试着虽然大声笑:) – Richard