我正在开发使用JSF 2.除其他事项外我的web应用程序包含了一系列的问题摆一次一个web应用程序(所以一个问题是,在一个时间可见),并有多个答案(我用H:selectManyCheckbox)。
我存储在一个ArrayList中(“gridQuestionListClone”)的问题和可能的答案和解答用户在一个HashMap(“allQuestionUserAnswerMap”)(末尾检查之前)。 (我可以改变存储方式,如果答案需要它)。
当用户完成回答所有我想给用户重新检查所有的问题和答案的可能性问题(我想预装的答案)中的页面。 因此,所有与用户的问题和其对应的复选框(3在每个问题)在一个页面中选中的复选框。
所以我使用的UI:重复要经过所有的问题和可能的答案,我需要一个机制来检查正确的复选框(用户选中),让用户改变他/她的回答的可能性,当我按下提交按钮(例如)知道哪个复选框哪些问题相对应。 草图,使事情更清晰:))(也许)。 因此,当用户完成回答所有我想告诉他单的问题:
Question 1:
a) answer1 - CHECKED
b) answer2 - UNCHECKED
c) answer3 - CHECKED
------------------------
Question 2:
a) answer1 - UNCHECKED
b) answer2 - UNCHECKED
c) answer3 - CHECKED
------------------------
Question 3:
a) answer1 - CHECKED
b) answer2 - CHECKED
c) answer3 - UNCHECKED
------------------------
.
.
.
Question n:
a) answer1 - CHECKED
b) answer2 - UNCHECKED
c) answer3 - CHECKED
------------------------
SUBMIT button
用户检查他/她的答案,如果需要的话,按下提交按钮修改它们。 然后,我想有一些类型的集合(或多个我真的不关心,以后我可以将它们合并),其中包含在乞讨或类似的东西的问题的数量和可能的答案就像“allQuestionUserAnswerMap” 。
我微不足道的代码(不正确):
<ui:repeat var="p" value="#{gridPopUpBean.gridQuestionListClone}">
<hr />
<h:panelGrid columns="2">
...
<h:panelGroup style="text-align: left">
<h:selectManyCheckbox
value="#{gridPopUpBean.oneQuestionUserAnswerList}"
layout="pageDirection">
<f:selectItem itemValue="a"
itemLabel="#{p.a}" />
<f:selectItem itemValue="b"
itemLabel="#{p.b}" />
<f:selectItem itemValue="c"
itemLabel="#{p.c}" />
</h:selectManyCheckbox>
...
</h:panelGroup>
</h:panelGrid>
</ui:repeat>
有任何想法吗?