gpt4 book ai didi

jsf - 是否可以在 Java Server Faces 中创建只写字段绑定(bind)?

转载 作者:行者123 更新时间:2023-12-04 19:37:41 24 4
gpt4 key购买 nike

我正在 JSF 中创建一个表单来保存一个新的实体 bean。我将新实体的属性绑定(bind)到输入元素使用 value 属性,例如,其中支持 bean 是 JSF 管理的平均值,newEntity 是支持 bean 的归档,其中包含我的实体的新实例。对于值类型(如数字)的属性,输入字段将填充默认值(例如 0)。我希望所有字段最初都是空白的,并在提交页面时保存回新实体实例。我想我可以通过使用诸如 Integer 之类的类型使所有属性都可以为空,但是数据库中的值不能为空,而且我的用户界面的要求应该规定业务层的形式似乎是不正确的。我看这个错误的方式?

最佳答案

我假设如果这些字段不可为空,那么它们是必需的。如果你把 required="true"在字段上,则在可以分配值之前验证应该失败。这意味着它不会尝试为您的属性分配空值。您可能必须为某些类型的字段编写自定义验证器来执行此操作。

或者,您可以编写一个转换器。此转换器必须将空值转换为您知道无效的某个预定常量,例如 -1。反之亦然,它必须将 -1 转换为空值才能显示。然后您必须在将其发送到业务层之前处理所有无效值。

这两种方法我都用过,但我更喜欢第一种。如果这些字段不是必需的,它们应该在业务层中可以为空。

关于jsf - 是否可以在 Java Server Faces 中创建只写字段绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2347538/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com