【发布时间】:2015-12-08 00:36:27
【问题描述】:
我正在开发一个使用 JSF 和 Hibernate 的应用程序。 JSF 表单上的字段由 Hibernate 实体支持。
例如: 值=#{bean.entity.value}
有一个清除按钮应该清空表单上的所有字段。有 3 种方法可以做到这一点:
- 调用一个 javascript 函数,该函数循环遍历表单上的所有字段并根据字段类型设置默认值 - 文本/复选框/下拉列表。
- 调用一个 bean 方法来创建一个新实体(将所有字段归零)并将现有实体 ID 分配给它。我希望 Hibernate 然后使用该 ID 更新该行,但它正在创建一个新行,因为它是一个分离的实体。有没有办法解决这个问题?
- 最直接的方法是调用 bean 方法并手动为实体中的所有字段设置默认值。这样做的问题是字段太多,每次在前端进行任何更改时,我都需要相应地更新bean方法。
哪种方法最合适?
【问题讨论】:
-
当我搜索实体时,hibernate 会查询数据库并创建一个实体对象。 JSF 然后在实体的表单中显示这些值。如果我只是在单击清除时重新加载页面,表单仍会显示值,因为实体对象从未更改。
标签: javascript java jquery hibernate jsf