【问题标题】:inputHidden binding to a long id field in backing beaninputHidden 绑定到支持 bean 中的长 id 字段
【发布时间】:2012-05-03 21:10:03
【问题描述】:

只是想知道如何设置隐藏字段值,以便在我提交表单时,JSF 将其设置为我的 CDI 托管 bean 中的对象中的 id。

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

我需要这个 ID,这样我就可以查找它并用它做一些事情。但是,JSF 似乎不喜欢数字隐藏字段。不过,字符串字段很好。当然它与转换器或绑定属性有关,但无法获取语法。这是我正在尝试的最简单的形式。

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

我尝试了很多变化。谁能指出我正确的方向吗?

谢谢

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

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

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

    【讨论】:

    • 哦,我正在尝试使用 javax.faces.convert.LongConverter。我在另一篇文章中看到了你的版本,但在上面找不到任何文档,所以认为它是错误的,然后查看了我想出的包。我会尝试一下,(当我的服务器最终恢复运行并对其进行测试时)会发回。谢谢
    • LongConverter Javadoc 中,检查CONVERTER_ID 常量。正是转换器 ID 值:docs.oracle.com/javaee/6/api/…
    • 谢谢,知道这真的很有用。我在 JSF 上很烂,虽然我在尝试大声笑 :)
    • 有效! (我必须在测试之前重构大量其他代码,因为我的架构一团糟)。但这很好用。谢谢
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    相关资源
    最近更新 更多