我正在用Thymeleaf和Spring Boot制作CMS,我想在可以从Thymeleaf模板调用的所有页面上放置一个菜单。
我不希望菜单作为每个控制器上的Model属性放置在模型中。 (除非可以在一个中心位置完成)。因为我有很多控制器。
现在我有一个菜单配置,可以从模板中调用。
MenuConfiguration.class
@Bean(name = "messages")
public List<MenuItem> messages() {
List<MenuItem> menuItems = menuService.getAll();
return menuItems;
}
Header.html
<ul class="nav navbar-nav" th:each="message : ${@messages}">
<li role="presentation">
<a th:href="${message.location}" th:text="${message.value}">Title ...</a>
</li>
</ul>
但是每次我添加新菜单项时,都必须重新启动SpringBoot应用程序。
我尝试将信息添加到控制器中。但结果相同或更糟。