У меня есть форма:
<body>
<form action="#" th:action="@{/}" th:object="${wrapper}" method="post">
<tr th:each="w: ${wrapper.answers}">
<td><input type="checkbox" th:value="${w.validWithNoun}"></td>
<td th:text="${descriptor}"/>
<td th:text="${w.noun}"/><br>
</tr>
<input type="submit" value="Submit" />
</form>
</body>
Но когда я попадаю на страницу поста, результатов нет.
Вот мой контроллер:
@Controller
public class AskController {
@GetMapping("/")
public String ask(Model model) throws OWLOntologyCreationException {
Word word = AskUser.getWords().iterator().next();
String descriptorLabel = word.getDescriptorLabel();
Map<String, OWLNamedIndividual> askWords = word.getAskWords();
List<Answer> answers = new ArrayList<>();
for (String n : askWords.keySet()) {
Answer a = new Answer(n);
answers.add(a);
}
AnswerWrapper wrapper = new AnswerWrapper(answers);
model.addAttribute("wrapper", wrapper);
model.addAttribute("descriptor", descriptorLabel);
return "default";
}
@PostMapping("/")
public String askSubmit(@ModelAttribute AnswerWrapper wrapper) {
System.out.println("RESULTS");
for (Answer a : wrapper.getAnswers()) {
System.out.println(a.getNoun());
System.out.println(a.getValidWithNoun());
}
return "result";
}
}
Я положил отпечаток, чтобы увидеть, что происходит, но нет никаких объектов. На исходной странице в списке было два объекта.
Трассировка стека
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause
java.lang.NullPointerException: null
at linguistics.AskController.askSubmit(AskController.java:43) ~[classes/:na]
...