SpringBoot 对象输出

在实际的开发之中经常面对页面要显示页面内容的处理操作,也是下面来观察一下

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"作为整体对象的声明后才可以直接访问属性.

猜你喜欢

转载自blog.csdn.net/Leon_Jinhai_Sun/article/details/88116983