Я разрабатываю веб-приложение с использованием JSF 2. Мое веб-приложение, помимо прочего, содержит ряд вопросов, задаваемых по одному (поэтому один вопрос виден одновременно) и имеет несколько ответов (я использую h: selectManyCheckbox).
Я сохраняю вопросы и возможные ответы в ArrayList ("gridQuestionListClone"), а ответы пользователей (перед их проверкой в конце) - в HashMap ("allQuestionUserAnswerMap"). (Я мог бы изменить способ хранения, если этого требует ответ).
Когда пользователь заканчивает отвечать на все вопросы, я хочу дать пользователю возможность перепроверить все вопросы и ответы (я хочу, чтобы ответы были предварительно загружены) на странице. Таким образом, все вопросы и соответствующие им флажки (по 3 на каждый вопрос) с установленными пользователями флажками на одной странице.
Поэтому я использую ui:repeat, чтобы просмотреть все вопросы и возможные ответы, и мне нужен механизм для проверки правильных флажков (которые проверил пользователь) и дать пользователю возможность изменить свои ответы и когда я нажимаю кнопку отправки (например), чтобы узнать, какие флажки каким вопросам соответствуют. Скетч, чтобы было понятнее :)) (возможно). Итак, когда пользователь закончил отвечать на все отдельные вопросы, я хочу показать ему:
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>
Любые идеи?