【问题标题】:JSF 2.0 Saving dynamic form to a database [duplicate]JSF 2.0将动态表单保存到数据库[重复]
【发布时间】:2011-04-11 19:58:06
【问题描述】:

我正在使用 JSF 2.0 和 Hibernate 编写一个用作管理面板的应用程序。我有一个带有 JSF 表单的 JSP 页面,其中的元素是使用 javascript 动态添加的(具体来说是 jQuery)。所以我不能对我必须处理多少数据做出任何假设。我有一个托管 bean,但我不知道如何为要保存在数据库中的动态字段放置 getter 和 setter。该解决方案似乎使用列表而不是单个元素,但是如何使用 JSF 元素的值标记?会不会是这样的:

<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;
}

}

但是,上面的代码似乎不正确,当然也不起作用。我需要将 inputtext 的两个或多个值绑定到同一个列表。有没有人有任何建议如何解决它?提前致谢。 问候, 粗鲁。

【问题讨论】:

    标签: java jquery jsf jsf-2


    【解决方案1】:

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

    您想使用 JSF 动态更改 JSF 组件树。由于这将是一个很长的故事要详细解释,这里有一些链接指向我之前回答的类似问题,以帮助您入门:

    【讨论】:

      【解决方案2】:

      您可以使用 primefaces 扩展 dynaform。您可以在其中创建动态表单。 看这个链接

      http://fractalsoft.net/primeext-showcase-mojarra/views/dynaForm.jsf

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-06-21
        • 1970-01-01
        • 1970-01-01
        • 2019-08-21
        • 1970-01-01
        • 2012-05-11
        • 1970-01-01
        相关资源
        最近更新 更多