Dynamic 在运行时添加您不需要的JSF组件';在编译时我不知道

Dynamic 在运行时添加您不需要的JSF组件';在编译时我不知道,dynamic,jsf-2,components,Dynamic,Jsf 2,Components,我在其他帖子中找不到解决这个问题的方法,所以这是我的问题。 (提前,我在JBoss7.1AS上使用JSF2和Mojarra实现以及Primefaces 3.2) 我正在构建一个应该在运行时动态生成的搜索掩码。我从另一篇文章中知道,我应该使用数据表。这就是我要做的 但搜索掩码由三部分组成:搜索条件(例如名称、生日等)、运算符(是、不是、大于、在范围内等)和操作数(用户将提供作为搜索输入的内容) 我的目标是动态生成搜索掩码,但输入字段的类型取决于用户选择的Criteria+运算符 因此,如果用户从下

我在其他帖子中找不到解决这个问题的方法,所以这是我的问题。 (提前,我在JBoss7.1AS上使用JSF2和Mojarra实现以及Primefaces 3.2)

我正在构建一个应该在运行时动态生成的搜索掩码。我从另一篇文章中知道,我应该使用数据表。这就是我要做的

但搜索掩码由三部分组成:搜索条件(例如名称、生日等)、运算符(是、不是、大于、在范围内等)和操作数(用户将提供作为搜索输入的内容)

我的目标是动态生成搜索掩码,但输入字段的类型取决于用户选择的Criteria+运算符

因此,如果用户从下拉框中选择了条件:“name”和运算符:“is not”,那么操作数的输入字段应该只是一个简单的p:inputText

但是,如果用户选择标准“生日”和运算符“之前”,那么输入字段应该是一个日期选择器,如p:calendar

我的想法是使用一个p:dataTable作为“SearchRow”对象的列表,其中每个对象都有一组条件和操作数,以便在h:selectOne菜单中使用它们

然后,我向selectMenues添加一个valueChangeListener,并在其中计算并创建所需的UIComponent的正确类型作为inputfield

但我不知道如何将UICOmponent添加为dataTable中的第三列

那么我的想法好吗?有没有办法解决我的问题


提前谢谢

与所述问题的解决方案相同。from@BalusC很好地解释了如何从bean中添加组件