📅  最后修改于: 2023-12-03 15:35:03.155000             🧑  作者: Mango
在Spring Boot应用程序中,@ModelAttribute是一个非常有用的注解,它可以用于将方法参数绑定到模型对象中。本文将为您介绍如何使用@ModelAttribute注解,并提供一个示例来演示如何在Spring Boot应用程序中使用它。
@ModelAttribute注解可以用于处理器方法参数上,用于将方法参数绑定到模型对象中。当一个请求发送到应用程序时,Spring MVC框架会自动创建一个模型对象,并在处理请求的方法中将该对象注入到方法的参数中。这使得应用程序可以访问请求的参数和容器中的其他对象。
我们将创建一个用于添加和显示用户的Spring Boot应用程序。以下是应用程序的目录结构:
├─src
│ └─main
│ ├─java
│ │ └─com
│ │ └─example
│ │ └─modelattribute
│ │ App.java
│ │ UserController.java
│ │
│ └─resources
│ templates
│ add.html
│ index.html
│ application.properties
│
└─pom.xml
UserController类负责接收来自请求的数据,并将其存储在User对象中。我们使用@ModelAttribute注释将表单数据与User对象绑定。
@Controller
public class UserController {
private static List<User> userList = new ArrayList<>();
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addUser(@ModelAttribute User user) {
userList.add(user);
return "redirect:/";
}
@RequestMapping(value = "/", method = RequestMethod.GET)
public ModelAndView index() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("userList", userList);
modelAndView.addObject("user", new User());
return modelAndView;
}
}
我们在Thymeleaf模板中使用表单来呈现表单数据。当用户提交表单时,我们调用UserController类的addUser()方法,该方法将User对象添加到列表中。然后,我们使用redirect将用户重定向到主页。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<title>Spring Boot @ModelAttribute Example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h1>User Registration Form</h1>
<form action="/add" method="post" th:object="${user}">
Name: <input type="text" th:field="*{name}"><br>
Email: <input type="email" th:field="*{email}"><br>
<input type="submit" value="Submit">
</form>
<h1>User List</h1>
<table>
<thead>
<tr>
<th>Name<th>
<th>Email<th>
</tr>
</thead>
<tbody>
<tr th:each="user : ${userList}">
<td th:text="${user.name}"/><td>
<td th:text="${user.email}"/><td>
</tr>
</tbody>
</table>
</body>
</html>
首先,我们在主页中显示一个表单,用户可以在其中输入姓名和电子邮件地址。然后,我们显示一个列表,显示其已注册用户的姓名和电子邮件地址。
您可以使用以下命令从命令行运行Spring Boot应用程序:
mvn spring-boot:run
Spring应用程序将在8080端口上运行。要访问主页,请打开Web浏览器并输入以下URL:
http://localhost:8080/
@ModelAttribute注解是处理Spring Boot应用程序中表单数据的非常有用的注解。在本文中,我们为您演示了如何使用它,同时还提供了一个演示如何将表单数据与模型对象绑定的示例。