
1、首先,既然我们要 *** 作集合,那么我们首先需要先实例化一个集合,我们先实例化一个ArrayList()。
2、使用add()可以往指定的集合中添加一个元素,如我们这里添加一个字符串“java”到集合中。
3、将集合输出到控制台,确定元素已经添加到了集合中。我们直接使用Systemoutprintln()将其结果输出到控制台即可。
4、在控制台中,显示出下图所示的结果,说明我们添加元素成功了。我们进一步对集合进行其他的 *** 作。
5、接下来,我们contains()判断使用包含指定的元素。
6、我们再声明一个新的集合,同时往集合中添加元素。最后得到一个具有几个元素的集合。
7、我们这里输出的结果是true。
扩展资料
Thymeleaf语法:
用于访问 容器上下文环境 中的变量,例:
<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 模板引擎的使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)