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 请求信息。
ICP备案:
公安联网备案: