
Request参数
假设请求的url为:/user/getid=12
1、访问参数id可以使用param前缀,例如:${paramid!=null}检查是否有参数id;
2、参数是一个数组,因为它可以多值比如id=a&name=test,所以可以采用下标的方式访问,例如:
<p th:text="${paramq[0]}" th:unless="${paramq == null}">11</p>
3、还有一种访问方式是使用#>
11 th:id
替换id标签
12 th:text
文本替换,包括html标签
13 th:utext
文本替换,html标签会显示出正确的样式
14 th:object
替换对象, 用于表单数据对象绑定,将表单绑定到后台controller的一个JavaBean参数。常与th:field一起使用进行表单数据绑定。
15 th:value
属性赋值
16 th:with
定义局部变量。
当th:with被处理,firstPer变量创建一个局部变量和变量添加到map自上下文, 以便它是用于评估和其他上下文中声明的变量从开始,但只有包含< div >标记的范围内。
定义多个局部变量
17 th:style
设置样式
18 th:onclick
点击事件
19 th:each
属性赋值
110 th:if
判断条件
111 th:unless
和th:if判断相反
112 th:href
链接地址
113 th:switch
多路选择配合th:case使用
114 th:fragment
自定义片段,定义fragment,所有的fragment可以写在一个文件里面,也可以单独存在
115 th:insert
保留自己的主标签,保留th:fragment的主标签。
116 th:replace
不要自己的主标签,保留th:fragment的主标签。
117 th:include
保留自己的主标签,不要th:fragment的主标签。(官方30后不推荐)
结果为:
118 th:selectd
selected选择框选中
119 th:src
类地址引入
120 th:inline
定义js脚本可以使用变量
121 th:action
表单提交的地址
122 th:remove
删除某个属性
1all:删除包含标签和所有的孩子。
2body:不包含标记删除,但删除其所有的孩子。
3tag:包含标记的删除,但不删除它的孩子。
4all-but-first:删除所有包含标签的孩子,除了第一个。
5none:什么也不做。这个值是有用的动态评估。
123 th:attr
设置标签属性,多个属性可以用逗号分隔
$ {} 变量表达式,可用于获取后台传过来的值
{} 选择变量表达式
#{} 消息表达式
@ {} 链接⽹址表达式,用于替换网页中的 src、href 等的值
〜{} ⽚段表达式,可以用于引用公共的目标片段
@{} 处理 url 地址
Thymeleaf 的 @ {} 表达式用于处理 web 应用中的 url 地址,可以是相对地址,也可以是绝对地址。
@{/} 斜杠开头表示相对整个应用根目录,"/" 表示 "/应用上下文路径"
假如页面当前浏览器地址为:>
Thymeleaf 基本表达式
如需了解thymeleaf以及thymeleaf整合spring,请参考《Thymeleaf模板引擎使用》、《Thymeleaf 集成spring》
${}
变量表达式(美元表达式,哈哈),用于访问容器上下文环境中的变量,功能同jstl中${}。
例如:
protected void doPost()throws ServletException, IOException {
//Create Servlet context
WebContext ctx = new WebContext(req, resp, thisgetServletContext(), reqgetLocale());
ctxsetVariable("helloword","hello thymeleaf,wellcome!");
//Executing template engine
templateEngineprocess("home", ctx, respgetWriter());
}
模板页面访问变量
<p><span th:text="${helloword}"></span></p>回到顶部
{}
选择表达式(星号表达式)。选择表达式与变量表达式有一个重要的区别:选择表达式计算的是选定的对象,而不是整个环境变量映射。也就是:只要是没有选择的对象,选择表达式与变量表达式的语法是完全一样的。那什么是选择的对象呢?是一个:th:object对象属性绑定的对象。
例如:
<div th: obj ect=" ${session user}" ><p>Name: <span th: text=" {firstName}" >Sebastian</span> </p>
<p>Surname: <span th: text=" {lastName}" >Pepper</span> </p>
<p>Nationality: <span th: text=" {nationality}" >Saturn</span> </p>
</div>
上例中,选择表达式选择的是th:object对象属性绑定的session user对象中的属性。
回到顶部
#{}
消息表达式(井号表达式,资源表达式)。通常与th:text属性一起使用,指明声明了th:text的标签的文本是#{}中的key所对应的value,而标签内的文本将不会显示。
例如:
新建/WEB-INF/templates/homehtml,段落
<p th: text=" #{home welcome}" >This text will not be show! </p>新建/WEB-INF/templates/homeproperties,homewelcome:
homewelcome=this messages is from homeproperties!测试结果:
从测试结果可以看出,消息表达式通常用于显示页面静态文本,将静态文本维护在properties文件中也方面维护,做国际化等。
回到顶部
@{}
超链接url表达式。
例如:
<script th:src="@{/resources/js/jquery/jqueryjson-24minjs}"
回到顶部
#maps
工具对象表达式。常用于日期、集合、数组对象的访问。这些工具对象就像是java对象,可以访问对应java对象的方法来进行各种 *** 作。
例如:
<div th:if="${#mapssize(stuReqBeanstudents[__${rowStatindex}__]score) != 0}"><label>${scorekey}:</label><input type="text" th:value="${scorevalue}"></input>
</div>
<div th:if="${#mapsisEmpty(stuReqBeanstudents[__${rowStatindex}__]score)}">
do something
</div>
其他工具对象表达式还有:
#dates#calendars
#numbers
#strings
#objects
#bools
#arrays
#lists
#sets
success:function(data){ //如果ajax的dataType为json则忽略这一步 var json = eval("("+ data +")"); //这里的docs有多个,对应的需要循环取出,这里只取出了第1个,索引从0开始 //如果无误的话,值应为33484 alert(jsonresponsedocs[0]index);}
session一般是登录时数据库读取后将部分有用信息存入到session中,然后只要是对话未结束,都可以通过存入时的session名去取对应的值,关闭游览器就失效了。跳转到其他页面一般不会失效,你可以看看是不是缺了系统引用或者是继承,session在有些页面不能直接取的。
以上就是关于Spring MVC + thymeleaf + html 在页面上无法获取session的值全部的内容,包括:Spring MVC + thymeleaf + html 在页面上无法获取session的值、thymeleaf将一个集合中对象的两个属性值的积求和、Thymeleaf的标签和表达式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)