Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.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
Java JSF2.0将动态表单保存到数据库_Java_Jquery_Jsf_Jsf 2 - Fatal编程技术网

Java JSF2.0将动态表单保存到数据库

Java JSF2.0将动态表单保存到数据库,java,jquery,jsf,jsf-2,Java,Jquery,Jsf,Jsf 2,我正在使用JSF2.0和Hibernate编写一个用作管理面板的应用程序。我有一个带有JSF表单的JSP页面,其中的元素是使用javascript(特定于jQuery)动态添加的。所以我不能对我需要处理多少数据做出任何假设。我有一个托管bean,但我不知道如何将动态字段的getter和setter保存到数据库中。解决方案似乎使用列表而不是单个元素,但是如何使用JSF元素的value标记呢?可能是这样的: <h:form> <h:inputText id="i1" value="

我正在使用JSF2.0和Hibernate编写一个用作管理面板的应用程序。我有一个带有JSF表单的JSP页面,其中的元素是使用javascript(特定于jQuery)动态添加的。所以我不能对我需要处理多少数据做出任何假设。我有一个托管bean,但我不知道如何将动态字段的getter和setter保存到数据库中。解决方案似乎使用列表而不是单个元素,但是如何使用JSF元素的value标记呢?可能是这样的:

<h:form>
<h:inputText id="i1" value="#{UserBean.list}" /> 
<h:inputText id="i2" value="#{UserBean.list}" />
<h:commandbutton id="submit" value="Submit" action="#{UserBean.submit}"/>
</h:form>

以及托管bean:

@ManagedBean(name="UserBean")
@RequestScoped
public class UserBean {

   public UserBean() {
       List<String> list = null;


}
    public List getList() {
    return list;
}
    public List setList(List<String> newlist) {
    list = newList;
}

}
@ManagedBean(name=“UserBean”)
@请求范围
公共类用户bean{
公共用户bean(){
List=null;
}
公共列表getList(){
退货清单;
}
公共列表集合列表(列表新列表){
列表=新列表;
}
}
但是,上面的代码似乎不正确,而且肯定不起作用。我需要将inputtext的两个或多个值绑定到同一个列表。有人对如何解决这个问题有什么建议吗?提前谢谢。 当做
sass.

您不能直接使用jQuery动态添加JSF组件。jQuery所能做的就是在客户端遍历和操作“普通的”HTMLDOM树。它完全没有JSF组件树的概念,因为它是在服务器端生成和维护的。JSF对“普通”jQuery/JavaScript在HTMLDOM树中所做的状态更改一无所知,因为它不会将更改通知服务器端的JSF。JSF依赖JSF组件树来处理表单提交,而不是HTMLDOM树

您希望使用JSF动态更改JSF组件树。因为这将是一个很长的故事来详细解释,这里有一些链接到我之前回答的类似问题,让您开始:

  • -这正是你需要的
  • -这是“另一种方式”,以防你感兴趣

您可以使用primefaces扩展dynaform。您可以在其中创建动态表单。 请参阅此链接