【问题标题】:Clear a JSF form清除 JSF 表单
【发布时间】:2015-12-08 00:36:27
【问题描述】:

我正在开发一个使用 JSF 和 Hibernate 的应用程序。 JSF 表单上的字段由 Hibernate 实体支持。

例如: 值=#{bean.entity.value}

有一个清除按钮应该清空表单上的所有字段。有 3 种方法可以做到这一点:

  1. 调用一个 javascript 函数,该函数循环遍历表单上的所有字段并根据字段类型设置默认值 - 文本/复选框/下拉列表。
  2. 调用一个 bean 方法来创建一个新实体(将所有字段归零)并将现有实体 ID 分配给它。我希望 Hibernate 然后使用该 ID 更新该行,但它正在创建一个新行,因为它是一个分离的实体。有没有办法解决这个问题?
  3. 最直接的方法是调用 bean 方法并手动为实体中的所有字段设置默认值。这样做的问题是字段太多,每次在前端进行任何更改时,我都需要相应地更新bean方法。

哪种方法最合适?

【问题讨论】:

  • 当我搜索实体时,hibernate 会查询数据库并创建一个实体对象。 JSF 然后在实体的表单中显示这些值。如果我只是在单击清除时重新加载页面,表单仍会显示值,因为实体对象从未更改。

标签: javascript java jquery hibernate jsf


【解决方案1】:

如果不需要业务计算默认值我会使用JS函数来重置字段。您将向服务器保存一个请求。 您也可以通过 JSF 生成 JS 函数并从服务器端获取默认值。 但这并不能解决页面重新加载的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    相关资源
    最近更新 更多