Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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
动态添加JSF表单和bean_Jsf_Jsf 2 - Fatal编程技术网

动态添加JSF表单和bean

动态添加JSF表单和bean,jsf,jsf-2,Jsf,Jsf 2,有没有办法将表单动态添加到JSF页面 我想实现以下表单列表: (因为我不允许发布图片,所以我只发布链接…) 产品数量和级别不应受到限制 可以在产品树的不同级别添加产品 不同产品之间可能存在约束(例如,100房间的工作场所不能有24英寸显示器),因此我必须有一个Bean,它知道所有选定的产品,以确保约束 所以我的想法是为每个产品实现定制组件。 如果用户单击“添加监视器”,我会将组件添加到ui(如何操作?)。据我所知,所有组件必须事先在die XHTML中可用,并且只能使用“渲染”隐藏/显示。

有没有办法将表单动态添加到JSF页面

我想实现以下表单列表:

(因为我不允许发布图片,所以我只发布链接…)

  • 产品数量和级别不应受到限制
  • 可以在产品树的不同级别添加产品
  • 不同产品之间可能存在约束(例如,100房间的工作场所不能有24英寸显示器),因此我必须有一个Bean,它知道所有选定的产品,以确保约束
所以我的想法是为每个产品实现定制组件。 如果用户单击“添加监视器”,我会将组件添加到ui(如何操作?)。据我所知,所有组件必须事先在die XHTML中可用,并且只能使用“渲染”隐藏/显示。但这将限制可以添加的产品数量

在bean中,我将添加一个处理新产品的类的实例。在这里,我不知道如何将新的ui组件映射到新添加的类实例,或者更一般地说:如何将复杂的ui树映射到支持bean

我已经研究了几种DynaForm替代方案,但到目前为止,我还不确定DynaForm(或JSF)是否是一种发展方向

任何暗示都很感激。。。 直率的

更新

这是我想创建一个新前端的应用程序。

它是一个Struts2应用程序,每个可选择的poduct都列在JSP中,并在选择“超级”产品时显示。用户可以选择产品并在线编辑属性,而无需打开新对话框

对于新的实现,我想知道是否可以在不提供所有组件的情况下实现相同的功能。因此,当用户选择“超级”产品时,所有子产品的自定义组件都必须添加到页面中,并且每个子产品都必须绑定到相应的bean

就我所知,框架Vaadin可能存在,因为可以将模型bean绑定到ui组件,然后将组件添加到组件树中


我想知道JSF是否也可以,因为我更喜欢JSF而不是vaadin。

试着让你的问题更详细、更清晰。我认为你必须退一步,首先考虑你的模型(继承?),以及ui应该如何工作。听起来像是您将对象设置为特定的,并尝试使您的UI与之匹配。我的意思是,如果您添加到多个“产品”…或一个产品中有多个附件,则此UI将无法使用。只需创建一个“添加产品”按钮打开一个对话框,选择一个产品。还有另一个按钮“添加附件”,打开一个对话框,您可以在其中添加附件。您甚至可以在“添加产品”对话框中添加“添加附件”。如果我没有弄错,您会建议使用新对话框添加/编辑新产品/附件吗?我添加了另一个图像来显示我试图实现的目标。