在标签中使用th:text
在标签中使用th:属性
th:href=“@{/}”,此时路径被thymeleaf解析之后,会自动添加上下文路径
如何在thymeleaf解析的路径中传输请求参数:
<a th:href="@{/firstServlet(username='admin',password='123456')}">测试Thymeleaf解析路径时发送请求参数a>
<a th:href="@{/firstServlet?username=admin&password=123456}">测试Thymeleaf解析路径时发送请求参数a>
类型:HttpServletRequest
范围:一次请求
获取方式:Servlet中的service()提供
应用场景:展示错误提示信息、列表功能、修改回显
类型:HttpSession
范围:一次会话(浏览器开启到浏览器关闭)
获取方式:request.getSession()
应用场景:记录用户的登录状态,书城项目中的购物车功能
类型:ServletContext
范围:整个web应用
获取方式:request.getServletContext()和session.getServletContext()
应用场景:Spring框架的IOC容器会共享到应用域中
void setAttribute(String name, Object value):设置共享的数据
Object getAttribute(String name):获取共享的数据
void removeAttribute(String name):删除共享的数据
a>通过FirstServlet向各个域对象共享数据,在页面中获取,观察获取情况
b>通过FirstServlet向各个域对象共享数据,通过SecondServlet跳转到页面,在页面中获取,观察获取情况
c>通过FirstServlet向各个域对象共享数据,之后关闭浏览器,在通过SecondServlet跳转到页面,在页面中获取,观察获取情况
d>通过FirstServlet向各个域对象共享数据,之后关闭服务器,在通过SecondServlet跳转到页面,在页面中获取,观察获取情况
注意:
会话域中的数据只跟浏览器是否关闭有关,跟服务器是否关闭没有关系
应用域中的数据只跟服务器是否关闭有关,跟浏览器是否关闭没有关系
获取请求域中的数据–>${属性名}
获取会话域中的数据–>${session.属性名}
获取应用域中的数据–>${application.属性名}
${param.请求参数名},相当于request.getParameter(“请求参数名”);
若使用此方式获取多个同名的请求参数,则获取的是一个数组
#request相当于request对象
#lists操作集合的工具对象,例如其中的方法isEmpty()判断某个集合是否为空(null或长度为0)
对象.属性
对象[属性]
map.key
map[key],若key是纯数字,则只能使用该方式
th:if=“条件”,若添加为true,则该属性所在的标签会在页面中存在
th:unless=“条件”,若添加为false,则该属性所在的标签会在页面中存在
th:each=“变量 : 集合”,需要循环哪个标签,就需要将该属性写在哪个标签中,就可以在该标签中使用变量表示集合中的每个数据
th:each=“变量,status : 集合”,status表示循环的辅助对象,常用属性:
count:当前循环的次数
index:当前循环的索引
first:当前循环是否为第一次循环
last:当前循环是否为最后一次循环
a>为公共模块起名
<div th:fragment="hello">
<h1>hello,thymeleafh1>
div>
b>引用公共模块
th:include=“公共模块所在页面的逻辑视图 :: 公共模块的名字”:将公共模块中的内容引入到当前标签中
th:insert=“公共模块所在页面的逻辑视图 :: 公共模块的名字”:将公共模块本身的标签引入到当前标签中
th:replace=“公共模块所在页面的逻辑视图 :: 公共模块的名字”:将公共模块本身的标签替换当前标签