В моем классе Action у меня есть список Questions
. что я хочу быть заселенным из представления.Заполнение пользовательских объектов из списка из JSP
public class MyQuizTest extends ActionSupport {
public String addItemsToTemplate(){
List<Question> q= myQuestions;
System.out.println(q);
return "success";
}
public List<Question> getMyQuestions() {
return myQuestions;
}
public void setMyQuestions(List<Question> myQuestions) {
this.myQuestions = myQuestions;
}
private List<Question> myQuestions;
}
Это класс вопрос
public class Question{
public boolean isChosen(){
retrun this.chosen
}
public void setChosen(boolean chosen){
this.chosen = chosen;
}
private boolean chosen;
}
А вот форма, которая обрабатывает, что
<form method = "GET" action = "addItemsToTemplate">
<s:iterator value = "myQuestions" status="key" var = "questionItem">
<s:checkbox name = "myQuestions[%{#key.index}].chosen" label="Check Me for testing"/>
</s:iterator>
</form>
этот метод обрабатывает форму
public String addItemsToTemplate(){
List<Question> q= myQuestions;
System.out.println(q);
return "success";
}
После представления, myQuestions
возвращает null
. почему это? Я хочу определить, был ли выбран соответствующий вопрос.
Я не пользователь Struts 2, но, кажется, что вы неправильное использование тега ''. Пожалуйста, обратитесь к [этому примеру] (http://www.mkyong.com/struts2/struts-2-iterator-tag-example/), чтобы исправить ваш код соответствующим образом. –
Я обновил его. – user962206
Ваша переменная 'myQuestions' возвращает' null', так как вы ее нигде не инициализировали (как показано в ответе). –