在运行时添加您在编译时不知道的 JSF 组件 [重复]
Posted
技术标签:
【中文标题】在运行时添加您在编译时不知道的 JSF 组件 [重复]【英文标题】:Add JSF components at runtime that you don't know during compile time [duplicate] 【发布时间】:2012-07-09 20:19:14 【问题描述】:我在其他帖子中找不到解决方案,所以这是我的问题。 (事先,我在 JBoss 7.1 AS 上使用 JSF 2 和 Mojarra 实现和 Primefaces 3.2)
我正在构建一个应该在运行时动态生成的搜索掩码。我从另一篇文章中知道我应该为此使用数据表。这就是我要做的。
但搜索掩码由 3 部分组成,搜索条件(例如姓名、生日、...)、运算符(是、不是、大于、在范围内...)和操作数 (用户将作为搜索输入提供的内容)。
我的目标是动态生成搜索掩码,但输入字段的类型取决于用户选择的标准+运算符。
因此,如果用户从下拉框中选择标准:“名称”和运算符:“不是”,那么操作数的输入字段应该只是一个简单的 p:inputText。
但如果用户选择标准“生日”和运算符:“之前”,那么输入字段应该是日期选择器,如 p:calendar。
我的想法是使用 p:dataTable 作为“SearchRow”对象列表,其中每个对象都有一组条件和操作数,以便在 h:selectOneMenu 中使用它们。
然后我将 valueChangeListener 添加到 selectMenues 中,并在其中计算并创建我需要的正确类型的 UIComponent 作为输入字段。
但我不知道如何将该 UIOmponent 添加为 dataTable 中的第三列。
那么我的想法有什么好处吗?有没有办法解决我的问题?
提前致谢!
【问题讨论】:
【参考方案1】:与here 描述的问题相同的解决方案。 @BalusC 的 article 很好地解释了如何从 bean 添加组件。
【讨论】:
以上是关于在运行时添加您在编译时不知道的 JSF 组件 [重复]的主要内容,如果未能解决你的问题,请参考以下文章