在Thymeleaf中如何正确的使用th:each和th:if方法?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一、th:each
作用:用于遍历controller层发送过来的集合。
例:
Controller代码:
@Controller public class HelloController { @RequestMapping("/success") public String success(Map<String,Object> map){ map.put("users", Arrays.asList("张三","李四","王五")); return "success"; } }
下面我们通过th:each属性在html页面将其遍历显示出来
<!DOCTYPE html> <html lang="en" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h5 th:text="${user}" th:each="user:${users}"></h5> </body> </html>
讲解:
th:each="user:${users}"
其中${users}是将取出名为users的List集合,每次遍历取出List集合中的一个元素赋值给user
注意:th:each每次遍历都会生成一个包含它的标签,如我们举的这个例子,users中一共有三个元素,所以会遍历三次,每次都会生成一个h5标签
二、th:if
Thymeleaf 的条件判断是 通过 th:if 来做的,只有为真的时候,才会显示当前元素
<p th:if="${testBoolean}" >如果testBoolean 是 true ,本句话就会显示</p>
取反可以用not, 或者用th:unless.
<p th:if="${not testBoolean}" >取反 ,所以如果testBoolean 是 true ,本句话就不会显示</p>
<p th:unless="${testBoolean}" >unless 等同于上一句,所以如果testBoolean 是 true ,本句话就不会显示</p>
除此之外,三元表达式也比较常见
<p th:text="${testBoolean}?'当testBoolean为真的时候,显示本句话,这是用三相表达式做的':''" >
看完上述内容,你们掌握在Thymeleaf中如何正确的使用th:each和th:if方法的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。