Thymeleaf 中如何判断list集合中是否包含某个值

Thymeleaf 中如何判断list集合中是否包含某个值,第1张

1、首先,既然我们要 *** 作集合,那么我们首先需要先实例化一个集合,我们先实例化一个ArrayList()。

2、使用add()可以往指定的集合中添加一个元素,如我们这里添加一个字符串“java”到集合中。

3、将集合输出到控制台,确定元素已经添加到了集合中。我们直接使用Systemoutprintln()将其结果输出到控制台即可。

4、在控制台中,显示出下图所示的结果,说明我们添加元素成功了。我们进一步对集合进行其他的 *** 作。

5、接下来,我们contains()判断使用包含指定的元素。

6、我们再声明一个新的集合,同时往集合中添加元素。最后得到一个具有几个元素的集合。

7、我们这里输出的结果是true。

扩展资料

Thymeleaf语法:

(1) 变量表达式:${}

用于访问 容器上下文环境 中的变量,例:

<span th:text="${information}">

(2) 选择变量表达式:{}

选择表达式计算的是 选定的对象 (th:object对象属性绑定的对象)

<div th:object="${session user}" >

Name: <span th: text=" {firstName}" >Sebastian

Surname: <span th: text=" {lastName}" >Pepper

Nationality: <span th: text=" {nationality}" >Saturn

</div>

(3) 信息表达式:#{}

一般用于 显示页面静态文本。将可能需要根据需求而整体变动的静态文本放在properties文件中,方便维护。通常与th:text属性一起使用。例如:

新建/WEB-INF/templates/homehtml,段落:<p th: text=" #{home welcome}" >This text will not be show!

新建/WEB-INF/templates/homeproperties,homewelcome:

homewelcome=this messages is from homeproperties!

使用SpringBoot Security进行登录验证,可以结合具体的业务需求来使用。在

SpringBoot Security前后端分离,登录退出等返回json

一文中,描述了前后端分离的情况下,如何进行登录验证和提示错误信息的。现在针对自定义的登录页面,能够精确地提示错误信息,做一个简单的演示demo。

本文使用的SpringBoot版本是214RELEASE,下面直接进入使用阶段。

加上这个架包,重启项目后,整个项目就配置了登录拦截和验证。

不输入用户名和密码,直接点击登录时,会有提示信息,输入框的颜色还会变红。查看源码,可以发现,架包默认的登录页面提交方式为表单提交,method为post,并且默认是开启csrf的,在表单里自动生成了一个隐藏域,防止跨域提交,确保请求的安全性。

输入错误的用户名或密码,可以看到页面进行了跳转,跳转后的页面又回到了登录页,只是url地址后面多了一个参数,页面提示错误信息。

从页面源码,我们可以获得以下几个方面的信息:

如果页面是我们自己自定义的,如果要使用默认的过滤器获取登录信息,则必须使用post方式进行提交,如果使用ajax json的方式进行提交,则获取不到参数。

接下来自定义一个登录页面,为了快速构建登录页面,这里使用了thymeleaf模板。

在这个配置中,对登录页面进行了设置,设置使用自定义的登录页面,在Controller需要添加对应的页面渲染。

一个很丑的登录页面,这不是重点。重点是,登录名和密码正确时,页面可以正确的跳转,输入错误时,可以在登录页面进行信息提示。

在MyCustomUserService类中,我们设置了用户名为admin,密码为123456;输入其他的用户名称时,提示用户不存在;不输入用户名称,提示用户不能为空;密码不是123456时,提示密码错误;输入admin,123456时,页面前往index页面,下面进行验证。

模板引擎和前端框架的区别是什么?

1JSP、Velocity、Thymeleaf等这是模板引擎,Jquery、Vue等这是前端框架。so,它们不一样。

2缓存模板结构,在数据层 *** du作完直接套用模板输出到客户端界面中,减少dom *** 作的异常、减少拼接html的痛苦、减少各浏览器下dom *** 作的延迟差异 。这是模板引擎干的事情。

3前端框架,提升开发效率,dom加载效率等。

为何选Thymeleaf,而抛弃了别的模板引擎比如JSP

1SpringBoot默认整合Thymeleaf,不需要任何配置直接整合成功,打jar包发布不需要做任何配置。

2Thymeleaf相对于其他的模板引擎(如:Freemaker、velocity),有强大的工具支持。

3相对于Jsp页面,执行效率高。

记录一个错误,是SpringBoot 和thumeleaf版本冲突的问题,这里需要把上面的切换版本配置改改

错误: An attempt was made to call the method orgthymeleafspring5SpringTemplateEnginesetRenderHiddenMarkersBeforeCheckboxes(Z)V but it does not exist Its class, orgthymeleafspring5SpringTemplateEngine, is available from the following locations

写一个小的测试,在Controller中添加一个访问,并在template目录下写个successhtml

使用 >

  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 中如何判断list集合中是否包含某个值全部的内容,包括:Thymeleaf 中如何判断list集合中是否包含某个值、SpringBoot Security 整合thymeleaf模板自定义登录页面,按需提示错误信息、Thymeleaf 模板引擎的使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存