一尘不染

根据上下文数据显示活动导航

jsp

我在Thymeleaf模板中有以下分离的片段。

<ul class="nav nav-tabs">
    <li role="presentation"><a href="/">Freight Invoices</a></li>
    <li role="presentation"><a href="/processed">Processed Invoices</a></li>
    <li role="presentation"><a href="/postingrules">Posting Rules</a></li>
    <li role="presentation" class="active"><a href="/settings">Settings</a></li>
</ul>

我想向活动导航元素添加“活动”类,但是在Thymyleaf中似乎很难完成。有什么建议么?


阅读 228

收藏
2020-06-08

共1个答案

一尘不染

您可以在每个页面的控制器中添加一个具有 激活 值的 ModelAttribute ,例如: __

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中 包含的导航片段中:

<ul class="nav nav-tabs">
     <!-- Other links -->
    <li role="presentation" th:class="${classActiveSettings}">
       <a th:href="@{/settings}">Settings</a>
    </li>
</ul>

最后,您可以对导航栏中的每个控制器和链接重复此过程。

2020-06-08