在controller类中键入如下代码:
@GetMapping("/greeting")
public String greetingfrom(Model model){
model.addAttribute("user",new AyUser());
return "greeting";
}
@GetMapping()接收get方式的请求。
@PostMapping()接收post方式的请求。
在SpringBoot中请注意:
@PostMapping("/greeting")
public String greetingSubmit(@ModelAttribute AyUser user,Model model) {
AyUser ayUser =new AyUser();
ayUser.setId(user.getId());
ayUser.setName(user.getName());
ayUser.setPassword(user.getPassword());
System.out.println("user="+user);
model.addAttribute("user1",user);
return "result";
}
在方法greetingSubmit()中除了前端页面传来的对象user,还要增加一个Model,否则数据无法传入到result.html中,切记!
greeting.html如下:
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>Form</h1>
<form action="#" th:action="@{/greeting}"
th:object="${user}" method="post">
<p>Id: <input type="text" th:field="*{id}" /></p>
<p>Username: <input type="text" th:field="*{name}" /></p>
<p>Password: <input type="text" th:field="*{password}" /></p>
<p><input type="submit" value="Submit"/> <input type="reset" value="Reset" /></p>
</form>
</body>
</html>
result.html如下:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Getting Started: Handling Form Submission</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Result</h1>
<p th:text="'id: ' + ${user1.id}" />
<p th:text="'username: ' + ${user1.name}" />
<p th:text="'password: ' + ${user1.password}" />
</body>
</html>
测试结果:
在方法greetingSubmit()中我们可以对表单的数据进行操作,如存储到数据库中,我打印了一下:如下:
结束。