Я работаю над проектом JSF 2.2, jboss 8.x
Я создал динамическую форму только с помощью selectManyCheckbox.
У меня есть следующий код:
<table border="5">
<ui:repeat var="cat" value="#{beanQuiz.traninigee.questions}">
<tr>
<div class="panel-title">
<i class="fs-14 fa fa-bolt"></i> #{cat.question} :
</div>
</tr>
<tr>
<h:selectManyCheckbox styleClass="checkbox check-success " value="#{beanQuiz.selectedreponses}" converter="javax.faces.Integer">
<f:selectItems var="xx" value="#{cat.responses}" itemLabel="#{xx.reponse}" itemValue="#{xx.responseId}" />
</h:selectManyCheckbox>
</tr>
<br/><br/>
</ui:repeat>
</table>
selectedArticles
— это список сущностей.
Я нашел в Интернете, что значение selectManyCheckbox
может указывать на String[]
или на List<String>
. С этим кодом selectedArticles
не содержит всех проверенных значений, а только последнюю проверенную группу.
Что мне делать, чтобы получить все проверенные значения?
@ManagedBean
@SessionScoped
public class beanQuiz implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@EJB
private trainingServiceLocal local;
private List<Integer> selectedreponses;
private List<Training> trainings;
private Training traninigee=new Training();
public String redirectquiz(int idt){
traninigee=local.findtrainingbyId(idt);
return "quiz";
}
public List<Integer> getSelectedreponses() {
return selectedreponses;
}
public void setSelectedreponses(List<Integer> selectedreponses) {
this.selectedreponses = selectedreponses;
}
public int getInc() {
return inc;
}
public void setInc(int inc) {
this.inc = inc;
}
private int inc;
public Training getTraninigee() {
return traninigee;
}
public void setTraninigee(Training traninigee) {
this.traninigee = traninigee;
}
@PostConstruct
public void init() {
inc=0;
trainings = local.findAlltrainings();
//traninigee=local.findtrainingbyId(1);
//System.out.println("-----||||||||||||----**---"+traninigee);
}
// private static Map<String,Object> color2Value;
// static{
// color2Value = new LinkedHashMap<String,Object>();
// for()
// color2Value.put("Color2 - Red", "Red"); //label, value
//
// }
public List<Training> getTrainings() {
return trainings;
}
public void setTrainings(List<Training> trainings) {
this.trainings = trainings;
}
Моя диаграмма классов выглядит так: у меня есть класс тренировок, который содержит список вопросов (один ко многим), мой вопрос класса содержит список ответов (один ко многим), а ответы моего класса - это простой класс, который содержит ответ как строка. Я использую jpa.