springboot模版引擎thymeleaf中定义baseURL和获取当前页全路径方法

springboot模版引擎thymeleaf中定义baseURL和获取当前页全路径方法
thymeleaf框架中我们可以通过使用@{...}定义资源链接,但是这种方式有时候并不能满足需求。我们需要自定义baseURL实现资源的全路径访问。方法如下:

1、baseURL定义和使用

thymeleaf页面中定义baseURL变量实现全路径链接并不难,我们只需要使用内置对象httpServletRequest就可以获取到。示例:

<div th:with='baseURL=${#httpServletRequest.getScheme() + "://" + #httpServletRequest.getServerName() + ":" + #httpServletRequest.getServerPort() + #httpServletRequest.getContextPath()}'>
      <a th:href="${baseURL+'/post/abc123'}" target="_blank">文章标题</a>
      <img th:src="${baseURL+'/images/logo.png'}" alt="测试图片" />
</div>

2、获取当前页全路径

同样在thymeleaf页面中获取当前页面完整URL地址我们也需要使用httpServletRequest内置对象获取,示例:

<div th:text="${#httpServletRequest.getRequestURL()+(#httpServletRequest.getQueryString()==null?'':'?'+#httpServletRequest.getQueryString())}"></div>
或者
<div th:text="${#httpServletRequest.requestURL + (#httpServletRequest.queryString==null?'':'?'+#httpServletRequest.queryString)}"></div>

两种方式的结果一样。

the end

热门文章