springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式

前言

     上一篇我们讲解了springboot如何结合thymeleaf,并且解释了static和templates文件夹的区别,以及介绍了thymeleaf如何解决html5的强校验问题,那么这篇我们就要上一篇我们讲解了springboot如何结合thymeleaf,并且解释了static和templates文件夹的区别,以及介绍了thymeleaf如何解决html5的强校验问题,那么接下来几篇我们就要来讲下thymeleaf的详细用法。

环境

jdk1.8
maven 3.3.9
IDEA 

thymeleaf标准表达式

  • 标准变量表达式

     语法:

语法:${}

     后端代码:

  @RequestMapping(value = "/index",method = RequestMethod.GET)
    public String index(Model model){
        Person person = new Person() ;
        person.setAge(22);
        person.setName("tom");
        person.setWxCode("coldStone");
        model.addAttribute("person", person);
        return "index";
    }

     前端代码:

年龄:
姓名:
微信公众号:

     访问显示:

springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式_第1张图片


  • 选择变量表达式
    语法:
*{}

     后端代码:

 @RequestMapping(value = "/index",method = RequestMethod.GET)
    public String index(Model model){
        Person person = new Person() ;
        person.setAge(22);
        person.setName("xxx");
        person.setWxCode("coldStone");
        model.addAttribute("person", person);
        return "index";
    }

     前端代码:

年龄:
姓名:
微信公众号:

     说明:

选择表达式使用th:object来绑定后台传来的User对象(通过标准变量表达式),
然后使用 * 来代表这个对象,后面 {} 中的值是此对象中的属性;

     或者直接使用*表达式,两种方式都可以:

年龄:
姓名:
微信公众号:

springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式_第2张图片

  • URL表达式
    语法:
@{}

     后端代码:

  @RequestMapping(value = "/index",method = RequestMethod.GET)
    public String index(Model model){
        Person person = new Person() ;
        person.setAge(22);
        person.setName("xxx");
        person.setWxCode("coldStone");
        model.addAttribute("person", person);
        return "index";
    }

     前端代码:


我的微信公众号是:coldStone

springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式_第3张图片
引出一个问题:假如我要显示的字符串很多,难道我还要像上面前端代码一个个的拼接吗?并不是,我们有语法可以来解决字符串的拼接问题:


我的微信公众号是:coldStone

     这段代码看上去是不是特别长,我也就拼了两个而已,我们来看下使用thmeleaf简化后的,注意|…|里面只可以包含变量表达式,不能包含文本字面量’…’,所以下面|…|里面的地址不需要引号

我的微信公众号是:coldStone

     很明显这两种结果打印一模一样,但是使用||却更加的简单:
这里写图片描述
     接下来我们来讲解下相对URL:
     第一种相对于页面的URL:

我的微信公众号是:coldStone

     第二种相对于上下文的URL,就多加了一个/:

我的微信公众号是:coldStone

     结果,发现加/的多了项目上下文/coderV:

我的微信公众号是:coldStone
我的微信公众号是:coldStone

     上一篇:springboot 结合thymeleaf 模板引擎初探

     下一篇:springboot入门系列教程|第四篇:thymeleaf使用详解之常见属性以及常用字面量

     获取本章源码:github地址


如果有小伙伴觉得我写的不错的话可以关注一下我的博客,我会一直持续更新,也可以支持一下我的公众号哦:java架构师小密圈,会分享架构师所必须深入研究的技术,比如netty,分布式,性能优化,spring源码分析,mybatis源码分析,等等等,同时还会分享一些赚钱理财的小套路哦,欢迎大家来支持,一起学习成长,程序员不仅仅是搬瓦工!
公众号:分享系列好文章
springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式_第4张图片

交流群:群友互相分享资料
springboot入门系列教程|第三篇:thymeleaf使用详解之标准表达式_第5张图片

你可能感兴趣的:(springboot)