Thymeleaf 之 初步使用

本文章来自【知识林】

只要对MVC框架和JSTL有所了解的,在学习Thymeleaf时都不会觉得太难。

这篇文章主要讲述Thymeleaf的一些比较常用的使用方法:

  1. 非表单数据显示(字符串拼接)
  2. 表单数据显示
  3. 三目运算
  4. if判断
  5. switch选择及case应用
  6. each循环(循环中状态对象的各属性)

下面依次做下介绍:

  • 简单对比

在JSP的表单中是这样:


在Thymeleaf中是这样:


注意:
在Thymeleaf中必须要有结尾,如JSP可以是:而Thymeleaf则必须是:

上面那种方式无法在静态环境的浏览器中打开,或打开后无法正常显示,而下面这种方式可以在静态环境的浏览器中打开,在input框中显示的内容是zslin

  • 数据传递

服务端:

@RequestMapping(value = "index", method = RequestMethod.GET)
public String index(Model model) {
    model.addAttribute("name", "知识林");
    model.addAttribute("age", 29);
    return "/web/index";
}

html页面:

你好 : 姓名!

现在年龄:

将显示:

你好 : 知识林!

现在年龄:29

说明:在非表单标签中显示内容使用:th:text

字符串拼接:

  • 三目运算及表单显示


说明:在表单标签中显示内容使用:th:value${age gt 30 ? '中年':'年轻'}表示如果age大于30则显示中年,否则显示年轻

gt:great than(大于)

ge:great equal(大于等于)

eq:equal(等于)

lt:less than(小于)

le:less equal(小于等于)

ne:not equal(不等于)

  • if判断

中年 年轻

说明:如果age大于30显示中年,否则显示年轻,跟上面的三目运算效果一样。使用th:if做判断,用th:unless做否则的判断。

  • switch选择

奔三

其他年龄

说明:和Java中的switch语句差不多,th:case="*"表示除其他指定值之外的情况。

  • each循环

DTO数据类:

public class WebDto {

    private String name;

    private String url;

    public String getName() {
        return name;
    }

    public String getUrl() {
        return url;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public WebDto(String name, String url) {
        this.name = name;
        this.url = url;
    }

    public WebDto() {}
}

服务端Controller:

@RequestMapping(value = "list", method = RequestMethod.GET)
public String list(Model model) {
    List list = new ArrayList();
    list.add(new WebDto("知识林", "http://www.zslin.com"));
    list.add(new WebDto("项目基础", "http://basic.zslin.com"));
    model.addAttribute("datas", list);
    return "/web/list";
}

html页面:

网站名称 网址
名称 网址

说明:使用th:each循环,注意循环是将当前标签一起循环,也就是这里的tr也一起被循环。

  • 循环中的state(状态对象)
网站名称 网址 state:index state:count state:size state:current state:even state:odd state:first state:last
名称 网址 状态序号,从0开始 状态序号,从1开始 状态size 状态 当前对象 状态 奇数 状态 偶数 状态 是否第一条 状态 是否最后一条

说明:

未完……,点击这里查看全文

本文章来自【知识林】

你可能感兴趣的:(Thymeleaf 之 初步使用)