1)
Фактически у вас есть несколько inputTexts
, которые указывают на одно и то же поле #{bean.answer}
.При отправке формы каждый из ваших inputTexts вызывает bean.setAnswer(..)
, и в результате вы получаете значение последнего inputText
в этом поле.
Добавьте поле в свой класс Return
:
public class Return {
...
private String userAnswerInput;
public void setUserAnswerInput(..){..};
public String getUserAnswerInput(){..};
}
и измените свой ввод на <h:inputText value="#{item.userAnswerInput}" ...>
Таким образом, вы получите ответы от пользователей, заполненные в Return
случаях, соответствующих каждому из заданных вопросов.
2)
Вам нужно будет изменить метод check()
, чтобы пройти по списку Return
экземпляров.
3)
Вы не должны создавать этот список Return
экземпляры в вашем получателе, так как он вызывается несколько раз.Вместо этого создайте список отдельным публичным методом, помеченным @PostContruct
.Геттер должен быть уменьшен до public List<Return> getQ(){return qList;}
.