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

如何判断Thymeleaf模板的URL是否包含指定字符串

解决方案

你的实现思路是可行的,利用Thymeleaf的字符串工具方法结合请求URI判断,就能实现根据URL内容控制锚点显示的需求。

代码优化建议

  • 可以用更简洁的${#request}替代${#httpServletRequest},二者功能一致
  • 若需避免大小写问题,可改用#strings.containsIgnoreCase方法
  • 若要精准匹配路径段(比如防止类似subordinatesabc的误判),可以用正则匹配

基础优化版代码

<div th:if="${#strings.contains(#request.requestURI, 'subordinates')}">
    <a href="/employees/list">employee directory</a>
</div>

精准路径匹配版(正则)

<div th:if="${#strings.matches(#request.requestURI, '.*\\/subordinates\\/.*')}">
    <a href="/employees/list">employee directory</a>
</div>

补充说明

requestURI获取的是域名后的路径部分(例如你的示例中就是/employees/subordinates/1),完全满足你判断是否包含subordinates的需求,无需处理完整URL。模板中的&quot;是HTML转义字符,直接使用双引号也可,只要保证HTML结构合法即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 15:15:36