Оператор переключения Thymeleaf, включая каждый случай - PullRequest
0 голосов
/ 29 декабря 2018

Я работаю над своим первым проектом Spring MVC, и я застрял в проблеме.В моем приложении 3 типа пользователей: администратор, сотрудник и клиент.В зависимости от типа пользователя, я хотел бы иметь определенный тип меню для каждого из них.Я попытался использовать оператор switch в своем шаблоне тимелиста, но каждый случай включается в вывод, и я не понимаю, почему.

Это код моего метода в контроллере:

@RequestMapping(value = "list/{roleId}", method = RequestMethod.GET)
public String listFood(Model model, @PathVariable int roleId){

    model.addAttribute("title", "Available Foods");
    model.addAttribute("roleId", roleId);
    model.addAttribute("foods", foodDao.findAll());

    return "food/list";
}

И это код из шаблона Thymeleaf (каждый фрагмент будет включен в итоговую страницу):

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head th:replace="fragments :: head"></head>
<body class="container">
    <h1 th:text="${title}">Food</h1>
    <div th:switch="${roleId}">
        <p th:case="0"><nav th:replace="admin-fragments :: navigation"></nav></p>
        <p th:case="1"><nav th:replace="employee-fragments :: navigation"></nav></p>
        <p th:case="2"><nav th:replace="customer-fragments :: navigation"></nav></p>
    </div>
</body>
</html>

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

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org/">
<head th:replace="fragments :: head"></head>
<body class="container">
    <h1 th:text="${title}">Food</h1>
    <div th:switch="${roleId}">
        <p th:case="0">User is an administrator</p>
        <p th:case="1">User is an employee</p>
        <p th:case="2">User is a customer</p>
    </div>
</body>
</html>

Почему переключение с первого шаблона не ведет себя так же, как переключение во втором шаблоне?Что я должен изменить в первом шаблоне, чтобы иметь возможность персонализированного меню для каждого типа пользователей?Спасибо!

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