- 导入相关的依赖(注意hibernate-validator的版本问题)
<!-- hibernate validation-->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
- 在controller层写上相关的代码
@RequestMapping("/login1")
public String login1(@Valid User user, Errors errors,Model model, HttpServletRequest request, HttpServletResponse response, PrintWriter writer
){
List<FieldError> errorList=null;
// 是否存在错误
if(errors.hasErrors()){
// 获取错误的信息
errorList = errors.getFieldErrors();
for (FieldError error:errorList
) {
// 打印错误字段的信息
System.err.println("filed:"+error.getField()+"\t"+"msg"+error.getDefaultMessage());
model.addAttribute("msg",error.getField()+error.getDefaultMessage());
return "forward:login.jsp";
}
}
User login = userService.login(user);
System.out.println(login);
if(login!=null){
//根据roleId来查询对应的权限信息
List<Menu> menus = userService.queryMenuByroleId(login.getRole().getRoleId());
// 把list集合转换成为json数据
String json = JSONObject.toJSONString(menus);
HttpSession session=request.getSession();
session.setAttribute("user",login);//把HtUserr 的值传入user中然后可以通过getAttrubute()进行获取,最后拦截器进行放行
session.setAttribute("menus",json);
return "forward:index.jsp";
}
return "forward:login.jsp";
}
- 在实体类中加上相关的注释
package com.zjj.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
private Long id;
@NotNull
@Size(min = 3,max = 8,message = "长度不在3-8")
private String username;
@NotNull
@Size(min =5,max = 10,message = "长度不在5-10")
private String password;
// private Integer isadmin;
// 一对一
private Role role;
}
然后就可以在页面步看见这个相关的效果了!!!