Spring Thymeleaf направляет пользователей в / users / {thisUser} / thisUsersCollectionOfThings - PullRequest
1 голос
/ 04 апреля 2019

Я пытаюсь отправить пользователя на определенную страницу, содержащую список его элементов. До сих пор я был несколько неудачным.

Сначала я отображаю страницу со списком всех пользователей с гиперссылками, которые, по-моему, должны быть их соответствующей страницей.

В моем шаблоне у меня есть это:

    <li th:each="key: ${users.keySet()}">
        <span th:text="${users.get(key).getName()}"></span>
        <a href="games.html" th:href="@{/{user}/games (user=${users.get(key).getName()}) }">View games</a></li>
    </li>

, который в настоящее время направляет на URL, например, http://localhost:8080/Steve/games.

Трудность, с которой я сталкиваюсь, состоит в том, чтобы знать, как связать все остальное.

У меня есть контроллер с этим отображением, который, я считаю, должен вызываться, когда этот URL-адрес

    @RequestMapping("/{users}/games")
    @ResponseBody
    public String userGames(@PathVariable final String username,
                            Model model){
        .. List<Games> games= getGames(username)..
        model.addAttribute("games", games);
        return "games";
    }

Итак, я хотел бы отобразить html-страницу шаблона «игры», но со списком игр, которые я нашел для этого пользователя. Однако я получаю стандартную ошибку This application has no explicit mapping for /error, so you are seeing this as a fallback. и не могу понять, где я ошибся.

Мой шаблон «Игры» следует тому же шаблону, что и предыдущий, просматривая список:

 <ol>
    <li th:each="game : ${games}" th:text="${game.getName()}"></li>
</ol>

но не отображается.

В моем классе Game есть метод для поиска имени. В трассировке стека нет исключений

Любая помощь будет принята с благодарностью, спасибо.

1 Ответ

1 голос
/ 04 апреля 2019

Хорошо, подведем итоги нашего разговора в чате: в вашем классе контроллеров отсутствовала аннотация @Controller, поэтому ваш метод отображения вообще не вызывался. Затем убедитесь, что строка в параметре метода контроллера совпадает с именем, через которое передается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...