【发布时间】:2012-09-17 17:20:15
【问题描述】:
我正在使用 JSF 创建问卷,因此我需要务实地创建我的整个 xhtml,因为有不同类型的问题并且它们的数量没有预定义。
我的视图中只有一个 h:panelGrid,其余部分在我的支持 bean 中生成。
创建 HtmlOutputText 和 HtmlInputText 没有问题。为此,我使用 getApplication 创建它们,例如像这样:
getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
然后像这样将组件添加到我的网格中:
grid.getChildren().add(questionnumber);
“grid”是我的 panelGrid 元素。 所以我把我的问题放在一个循环中,并根据数据库中的问题类型决定要创建什么类型的组件。如果问题是普通文本问题,我可以轻松使用 HtmlInputText。但我也有多项选择题。因此我需要创建 SelectOneRadio 菜单并在其中添加 SelectItems。
我可以使用上面提到的相同 createComponent 方法创建一个HtmlSelectOneRadio。但我无法为其添加选项(选择项组件)。有没有办法我可以做到这一点?我们是否有我缺少的 UIComponent?
【问题讨论】:
标签: jsf facelets dynamic-forms