springboot+ssm学习5(公共字段自动填充)
在Spring Boot + SSM项目中,我们可以使用@ModelAttribute
注解自动填充实体类中的公共字段。
以下是一个简单的例子:
- 创建一个公共字段的实体类:
public class BaseEntity {
private String createUser;
private Date createTime;
private String updateUser;
private Date updateTime;
// 省略getter和setter方法
}
public class YourEntity extends BaseEntity {
private Integer id;
private String name;
// 省略getter和setter方法
}
- 创建一个
@ModelAttribute
注解的方法,用于自动填充公共字段:
@ControllerAdvice
public class GlobalControllerAdvice {
@ModelAttribute
public void addUserDetailsToModel(Model model) {
String currentUser = "admin"; // 从安全上下文获取当前用户
Date currentTime = new Date(); // 获取当前时间
model.addAttribute("createUser", currentUser);
model.addAttribute("createTime", currentTime);
model.addAttribute("updateUser", currentUser);
model.addAttribute("updateTime", currentTime);
}
}
- 在你的Controller中使用
@RequestMapping
注解处理请求:
@Controller
public class YourEntityController {
@PostMapping("/yourEntity")
public String createYourEntity(@ModelAttribute YourEntity yourEntity) {
// 保存yourEntity到数据库
return "success";
}
}
当你发送一个请求到/yourEntity
时,GlobalControllerAdvice
中的addUserDetailsToModel
方法会自动被调用,并且公共字段会被填充到YourEntity
实体中。这样,在你的业务逻辑中,YourEntity
实体将包含创建和更新时间以及用户信息。
评论已关闭