Spring MVC + thymeleaf + html 在页面上无法获取session的值

Spring MVC + thymeleaf + html 在页面上无法获取session的值,第1张

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的标签和表达式等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9436968.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存