我正在设计一个表单制作器,用户可以在其中为他们的问题添加多个选项。因此,每个选项都有一个添加新选项按钮和一个删除按钮。我想dataTable
在我的 Facelets 页面中使用 a 并将其与HtmlDataTable
我的托管 bean 中的 an 绑定,以便动态添加/删除选项,因为我们不知道他们想要添加多少选项。所以我所做的是 my 的值dataTable
是一个List
字符串。我的输入文本(选项)被添加和删除,当他们添加整个问题时,它们被正确存储在我的数据库中。但是每次按下添加或删除按钮时,我的选项都是空的,因此用户必须再次输入它们。我的代码有点长,所以我会为您提供它们的简化版本。
在我的 Facelets 页面上,我有:
<h:dataTable value="#{questionMaker.selectOneOptionList}" var="option" binding="#{questionMaker.table}">
<h:column>
<h:inputText value="#{option}"/>
<h:commandLink value="remove option" action="#{questionMaker.removeRadioButtonOption}"/>
</h:commandLink>
</h:column>
</h:dataTable>
在我的托管 bean 中,上述变量是:
private HtmlDataTable table;
private List<String> selectOneOptionList;
当然,他们也有 getter 和 setter。这是我的添加方法:
public void addRadioButtonOption() {
String option = new String();
selectOneOptionList.add(option);
}