// Controller类中表单验证的示例
@RequestMapping(value="/register", method=RequestMethod.POST)
public String register(@Valid User user, BindingResult result) {
if (result.hasErrors()) {
return "registerForm";
}
// 注册逻辑...
return "success";
}
// User类的验证规则示例
public class User {
@NotBlank(message="用户名不能为空")
private String username;
@Size(min=6, max=20, message="密码长度需在6到20个字符之间")
private String password;
// 其他属性和getter/setter方法...
}SpringMVC的数据绑定及类型转换
// Controller类中数据绑定及类型转换的示例
@RequestMapping(value="/submitForm", method=RequestMethod.POST)
public String submitForm(@ModelAttribute("form") FormData form) {
// 表单提交逻辑...
return "success";
}
// FormData类的属性绑定示例
public class FormData {
private int id;
private String name;
private Date date;
// 其他属性和getter/setter方法...
// 需要自定义的类型转换器,将字符串转换为Date类型
@DateTimeFormat(pattern="yyyy-MM-dd")
public void setDate(Date date) {
this.date = date;
}
}SpringMVC的RESTful API设计与实现
// Controller类中RESTful API的示例
@GetMapping("/users/{id}")
public ResponseEntity getUser(@PathVariable("id") int id) {
User user = userService.getUserById(id);
if (user != null) {
return new ResponseEntity(user, HttpStatus.OK);
} else {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
}
// UserService类的方法示例
public User getUserById(int id) {
// 根据id查询用户逻辑...
return user;
}