基于上下文数据显示活动导航
我在Thymeleaf模板中有以下分隔的片段。
我想在主动导航元素中添加一个“主动”类 – 但在Thymyleaf中似乎很难实现。 有什么建议么?
您可以在控制器中为每个页面添加一个ModelAttribute ,其值为active ,例如:
SettingsController.java
@RequestMapping("/settings") public String viewSettings(Model model) { // do stuff model.addAttribute("classActiveSettings","active"); return "settings"; }
或者在SettingsControllerAdvice.java中
@ControllerAdvice(assignableTypes = SettingsController.class) public class SettingsControllerAdvice { @ModelAttribute("classActiveSettings") public String cssActivePage() { return "active"; } }
然后,在settings.html中包含的导航片段中:
最后,您可以为导航栏中的每个控制器和链接重复此过程。
你可以这样做:
虽然我认为它是丑陋的解决方案,但遗憾的是百里香叶没有一些宏,你可以使用:
Hotel
它也适用于像“ hotels / new”这样的“更深层次”链接,因此它也适用于多级菜单。
虽然这是一个老问题,我想分享这个解决方案,因为它可以更优雅!
http://nixmash.com/post/bootstrap-navbar-highlighting-in-thymeleaf
- 将参数(activeTab)添加到导航片段。
- 在使用导航栏片段的主页面中传递它的值
- 在’li’元素中检查它以设置’active’类
About