在实际的开发之中经常面对页面要显示页面内容的处理操作,也是下面来观察一下
1、准备一个VO类
package com.microboot.vo;
import java.io.Serializable;
import java.util.Date;
@SuppressWarnings("serial")
public class Member2 implements Serializable {
private Long id;
private String name;
private Integer age;
private Date birthday;
private Double salary;
}
2、而后编写一个控制器将对象内容进行属性传递:
@RequestMapping(value = "/message/member_show", method = RequestMethod.GET)
public String memberShow(Model model) {
Member2 vo = new Member2();
vo.setMid(101L);
vo.setName("阿三");
vo.setAge(9);
vo.setSalary(9999.99);
vo.setBirthday(new Date());
model.addAttribute("member",vo);
return "message/member_show";
}
3、编写一个具体的页面进行输出:
@RequestMapping(value = "/message/member_show", method = RequestMethod.GET)
public String memberShow(Model model) {
Member2 vo = new Member2();
vo.setMid(101L);
vo.setName("阿三");
vo.setAge(9);
vo.setSalary(9999.99);
vo.setBirthday(new Date());
model.addAttribute("member",vo);
return "message/member_show";
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>SpringBoot模板渲染</title>
<link rel="icon" type="image/x-icon" href="/images/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body>
<p th:text="'用户编号:' + ${member.mid}">
</body>
</html>
http://localhost/message/member_show
用户编号:101
member_show.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>SpringBoot模板渲染</title>
<link rel="icon" type="image/x-icon" href="/images/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body>
<p th:text="'用户编号:' + ${member.mid}">
<p th:text="'用户姓名:' + ${member.name}">
<p th:text="'用户年龄:' + ${member.age}">
<p th:text="'用户工资:' + ${member.salary}">
<p th:text="'出生日期:' + ${member.birthday}">
</body>
</html>
http://localhost/message/member_show
用户编号:101
用户姓名:阿三
用户年龄:9
用户工资:9999.99
出生日期:Mon Mar 04 14:58:42 CST 2019
<p th:text="'出生日期:' + ${#dates.format(member.birthday,'yyyy-MM-dd')}">
出生日期:2019-03-04
4、现在程序编写到此处实际上可以发现一个小小的问题,如果现在要在按照此类方式进行输出会觉得这个
操作台麻烦了,有一种更简单的做法:
member_show.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>SpringBoot模板渲染</title>
<link rel="icon" type="image/x-icon" href="/images/favicon.ico" />
<meta http-equiv="Content-Type" content="text/html;charse=UTF-8">
</head>
<body>
<div th:object="${member}">
<p th:text="'用户编号:' + *{mid}">
<p th:text="'用户姓名:' + *{name}">
<p th:text="'用户年龄:' + *{age}">
<p th:text="'用户工资:' + *{salary}">
<p th:text="'出生日期:' + *{#dates.format(birthday,'yyyy-MM-dd')}">
</div>
</body>
</html>
http://localhost/message/member_show
用户编号:101
用户姓名:阿三
用户年龄:9
用户工资:9999.99
出生日期:2019-03-04
区别:关于"${属性}" 和 "*{属性}" ?
这两种属性访问机制在访问单独或者是完整属性时候是一样的, 而如果要使用"*{}"形式进行访问往往需要结合
"th:object"作为整体对象的声明后才可以直接访问属性.