You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中如何让/menu多级子URL保持导航标签激活状态?

解决导航标签在多级子URL下的高亮问题

你当前用精确匹配/menu的方式,自然没法覆盖/menu/new/...这类子路径,给你两种实用的解决办法:

  • 方法一:判断请求URI是否以/menu开头
    直接用Thymeleaf的#strings.startsWith方法替换原来的equals,只要URI以/menu开头就添加激活类:

    <a class="nav-link" th:classappend="${#strings.startsWith(#request.requestURI, '/menu')} ? 'active' : ''" href="/menu">menu</a>
    

    (顺便提一句,你代码里的href指向了/board/boardList,大概率是笔误,改成/menu更符合导航逻辑)

  • 方法二:更严谨的前缀匹配(避免误判类似/menuXXX的路径)
    如果担心有其他以menu开头但不是子路径的URL(比如/menu123),可以同时匹配根路径和以/menu/开头的子路径:

    <a class="nav-link" th:classappend="${#request.requestURI.equals('/menu') or #strings.startsWith(#request.requestURI, '/menu/')} ? 'active' : ''" href="/menu">menu</a>
    

这两种方法都能让/menu及其所有多级子页面的导航标签保持高亮状态,根据你的实际URL结构选就行。

内容的提问来源于stack exchange,提问作者CescoDesu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:55:27