Я пытаюсь использовать функцию th: каждой для своего сайта, чтобы найти всех собак в моей базе данных, и использую следующий код.В моем контроллере у меня есть:
@Controller
public class DogController {
private DogDatabase database = new DogDatabase();
@RequestMapping(value = "/allDogs", method = RequestMethod.GET)
public String getAllDogs(Model model)
{
ArrayList<Integer> ids = database.getAllIDs();
System.out.println(ids.size());
Dog[] dogs = new Dog[ids.size()+1];
for(int i = 0; i < ids.size(); ++i)
{
dogs[i] = database.getDog(ids.get(i));
}
model.addAttribute("dogs", dogs);
return "getAllDogs";
}
После этого цикла for я сделал println для каждого объекта в массиве и проверил, что все мои объекты собаки являются действительными и не равны NULL.После проверки правильности массива я передаю его в качестве модели и пытаюсь получить его в HTML.Текущая проблема заключается в том, что, когда я иду в HTML, он ничего не отображает.Я не получаю никаких ошибок тимелист, только пустой экран.В приложении мой HTML-код, где я называю th: каждый
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>All Dogs</title>
</head>
<body>
<table>
<th:block th:each="dog : ${dogs}">
<tr>
<td>Name: </td>
<td th:text="${dog.name}">Name</td>
</tr>
</th:block>
</table>
</body>
</html>
Редактировать один и два: редактировать было исправить ошибки, которых не было в моем коде
Редактировать три: я пытался переключить собакуи собак в итераторе (как в коде выше), но теперь я получаю сообщение об ошибке «Исключительная ситуация при вычислении выражения SpringEL:« dog.name »(template:« getAllDogs »- строка 13, столбец 21)»
Однако это не имеет смысла, так как я использую dog.name по всему сайту, а getName () является общедоступной в классе Dog.По запросу я добавляю класс моей собаки: https://pastebin.com/Lknc8dtZ