Thymeleaf内置对象大全(附带实例)
Thymeleaf 包含一些内置的基本对象,可以用于视图中获取上下文对象、请求参数、Session 等信息。这些基本对象使用 # 开头,如下表所示。
如表格所示,Thymeleaf 提供了有一系列的对象和属性用于访问请求参数、会话属性等应用属性。下面以其中两个常用的对象作为示例来演示。
1) 定义后台方法传值。创建一个后台方法,后台传回 request 请求参数和 session 属性,示例代码如下:
2) 前端页面接收参数。接下来看看前端页面如何通过 Thymeleaf 内置的基本对象获取后端传递的值,在 /resources 目录下新建一个前端页面 baseobject.html,示例代码如下:
3) 启动验证。启动项目后,在浏览器中输入地址 http://localhost:8080/object,则会出现如下图所示的结果。

图 1 基本对象baseobject.html页面显示效果
在 HTML 页面中,通过 #request、#session 这些对象成功获取了后台返回的 Web 请求信息。
对象名 | 作用 | 说明 |
---|---|---|
#ctx | 获取上下文对象 | 上下文对象 |
#vars | 访问 VariablesMap 所有上下文中的变量 | 上下文变量 |
#locale | 访问与 java.util.Locale 关联的当前请求 | 区域对象 |
#request | 访问与当前请求关联的 javax.servlet.HttpServletRequest 对象 | HttpServletRequest 对象,仅 Web 环境可用 |
#response | 访问与当前请求关联的 javax.servlet.HttpServletResponse 对象 | HttpServletResponse 对象,仅 Web 环境可用 |
#session | 访问 session 属性 | HttpSession 对象,仅 Web 环境可用 |
#servletContext | 访问与当前请求关联的 javax.servlet.ServletContext 对象 | ServletContext 对象,仅 Web 环境可用 |
如表格所示,Thymeleaf 提供了有一系列的对象和属性用于访问请求参数、会话属性等应用属性。下面以其中两个常用的对象作为示例来演示。
1) 定义后台方法传值。创建一个后台方法,后台传回 request 请求参数和 session 属性,示例代码如下:
@RequestMapping("/object") public String test1(HttpServletRequest request){ request.setAttribute("request", "spring boot"); request.getSession().setAttribute("session", "admin session"); request.getServletContext().setAttribute("servletContext","Thymeleaf servletContext"); return "baseobject"; }在上面的示例中,我们分别在 request 和 session 对象中写入了相关的测试,验证前台是否能获取到这些自定义的 Web 请求信息。
2) 前端页面接收参数。接下来看看前端页面如何通过 Thymeleaf 内置的基本对象获取后端传递的值,在 /resources 目录下新建一个前端页面 baseobject.html,示例代码如下:
<h1>Thymeleaf模板引擎</h1> <h3>基本对象</h3> <p th:text="${#request.getAttribute('request')}"></p> <p th:text="${#session.getAttribute('session')}"></p> <p th:text="${#servletContext.getAttribute('servletContext')}"></p>在上面的示例中,我们在 HTML 页面中通过 #request、#session 这些对象就能获取 Web 请求中的相关信息。
3) 启动验证。启动项目后,在浏览器中输入地址 http://localhost:8080/object,则会出现如下图所示的结果。

图 1 基本对象baseobject.html页面显示效果
在 HTML 页面中,通过 #request、#session 这些对象成功获取了后台返回的 Web 请求信息。