Вывести заданные значения из таблицы Thymelife

Есть контроллер, замаппленный на /cars, я создал модель Car с тремя произвольными полями и создал список из 5 машин, затем создал сервис с методом, который будет возвращать указанное число машин из созданного списка. Также создал страницу cars.html. Задача : реализовать создание таблицы с машинами из сервиса с помощью thymeleaf и при запросе /cars выводить весь список.При запросе /cars?count=2 должен отобразиться список из 2 машин, при /cars?count=3 - из 3, и тд. При count ≥ 5 выводить весь список машин. Контроллер, сервис и настройку таймлиф я реализовал, но при запросе в браузере cars?count=3 список машин не выводится.

public class CarsController {
 @GetMapping("/cars")
 public String cars(@RequestParam(value = "count", defaultValue = "5") int allCars, Model model) {
     List<Car> list = new ArrayList<>();
     list.add(new Car("Ford", "RED", 1000));
     list.add(new Car("Ferrari", "YELLOW", 700));
     list.add(new Car("Aston Martin", "BLACK", 500));
     list.add(new Car("FIAT", "GREEN", 180));
     list.add(new Car("BMW", "BLUE", 100));
     list = CarService.carsCount(list, allCars);
     model.addAttribute("list", list);
     return "car";

 }
}

class CarService

public class CarService {
    public static List<Car> carsCount(List<Car> list, int number) {
        if (number == 0 || number > 5) return list;
        return list.stream().limit(number).collect(Collectors.toList());
    }
}

car.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">

<head>
  <meta charset="UTF-8" />
  <title>Car</title>
  <style>table th, table td {padding: 5px;}</style>
</head>

<body>
<h1>th:each</h1>

<table border="1">
  <tr>
    <th>brand</th>
    <th>color</th>
    <th>power/th>
  </tr>

  <tr th:each="lst : ${list}">
    <td th:utext="${lst.brand}">brand</td>
    <td th:utext="${lst.color}">color</td>
    <td th:utext="${lst.power}">power</td>
  </tr>

</table>

</body>

</html>

Скрин из браузера


Ответы (1 шт):

Автор решения: Сергей Бакишев

Всем спасибо! Вопрос решен. Один из методов в файле конфигурации возвращал null.

public class AppInit extends AbstractAnnotationConfigDispatcherServletInitializer {

    // Метод, указывающий на класс конфигурации
    @Override
    protected Class<?>[] getRootConfigClasses() {
        //неправильно
        return null
        //правильно
        return new Class<?>[]{WebConfig.class};
    }



    // Добавление конфигурации, в которой инициализируем ViewResolver, для корректного отображения jsp.
    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[]{
                WebConfig.class
        };
    }


    /* Данный метод указывает url, на котором будет базироваться приложение */
    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

}
→ Ссылка