Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 清除JSF表单_Javascript_Java_Jquery_Hibernate_Jsf - Fatal编程技术网

Javascript 清除JSF表单

Javascript 清除JSF表单,javascript,java,jquery,hibernate,jsf,Javascript,Java,Jquery,Hibernate,Jsf,我正在使用JSF和Hibernate开发一个应用程序。JSF表单上的字段由Hibernate实体支持 例: value=#{bean.entity.value} 有一个清除按钮,该按钮应清空表单上的所有字段。有三种方法可以做到这一点: 调用一个javascript函数,该函数循环遍历表单上的所有字段,并根据字段类型设置默认值-text/checkbox/dropdown 调用一个bean方法,该方法创建一个新实体(将所有字段置零),并将现有实体id分配给它。我希望Hibernate随后会用该id

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

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

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

  • 调用一个javascript函数,该函数循环遍历表单上的所有字段,并根据字段类型设置默认值-text/checkbox/dropdown
  • 调用一个bean方法,该方法创建一个新实体(将所有字段置零),并将现有实体id分配给它。我希望Hibernate随后会用该id更新该行,但它正在创建一个新行,因为它是一个分离的实体。有办法解决这个问题吗
  • 最直接的方法是调用bean方法并手动设置实体中所有字段的默认值。问题是有太多的字段,每次在前端进行任何更改时,我都需要相应地更新bean方法

  • 哪种方法最合适?

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

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

    当我搜索实体时,hibernate查询数据库并创建实体对象。JSF然后以实体的形式显示这些值。如果在单击“清除”时重新加载页面,表单仍将显示值,因为实体对象从未更改。当我搜索实体时,hibernate查询数据库并创建实体对象。JSF然后以实体的形式显示这些值。如果在单击“清除”时重新加载页面,表单仍将显示值,因为实体对象从未更改。