我正在使用 JSF 创建问卷,因此我需要务实地创建我的整个 xhtml,因为有不同类型的问题并且它们的数量没有预定义。
我所拥有的只是 ah:panelGrid 在我看来,其余的都是在我的支持 bean 中生成的。
创建 HtmlOutputText 和 HtmlInputText 没有问题。为此,我使用 getApplication 创建它们,例如:
getApplication().createComponent(HtmlOutputText.COMPONENT_TYPE);
然后像这样将组件添加到我的网格中:
grid.getChildren().add(questionnumber);
其中“网格”是我的 panelGrid 元素。所以我把我的问题放在一个循环中,并根据数据库中的问题类型决定要创建什么类型的组件。如果问题是普通文本问题,我可以轻松使用 HtmlInputText。但我也有多项选择题。因此我需要创建 SelectOneRadio 菜单并在其中添加 SelectItems。
我可以HtmlSelectOneRadio
使用上面提到的相同 createComponent 方法创建一个。但我无法为其添加选项(selectitem 组件)。有没有办法我可以做到这一点?我们有一个我缺少的 UIComponent 吗?