首页 > 代码库 > 基于springmvc的简单增删改查实现---中间使用到了bean validation

基于springmvc的简单增删改查实现---中间使用到了bean validation

  1 package com.kite.controller;  2   3 import java.util.HashMap;  4 import java.util.Map;  5   6 import javax.validation.Valid;  7   8 import org.springframework.stereotype.Controller;  9 import org.springframework.ui.Model; 10 import org.springframework.validation.BindingResult; 11 import org.springframework.validation.annotation.Validated; 12 import org.springframework.web.bind.annotation.ModelAttribute; 13 import org.springframework.web.bind.annotation.PathVariable; 14 import org.springframework.web.bind.annotation.RequestMapping; 15 import org.springframework.web.bind.annotation.RequestMethod; 16  17 import com.kite.entity.User; 18  19 /** 20  * 简单的增删改查实现 21  * @author kite 22  * 23  */ 24 @Controller 25 @RequestMapping(value=http://www.mamicode.com/{"/user"}) 26 public class UserController 27 { 28     //简单数据模拟 29     Map<String, User> map = new HashMap<String, User>(); 30     public UserController() 31     { 32         map.put("zs", new User("zs", "123", "张三", "123dsad456")); 33         map.put("ll", new User("ll", "321", "李四", "123dsa456")); 34         map.put("ww", new User("ww", "32154", "王五", "dsa")); 35         map.put("zl", new User("zl", "5dsada", "赵六", "dsadsa")); 36     } 37     /** 38      * 显示列表 39      * @param model 40      * @return 41      */ 42     @RequestMapping({"/list"}) 43     public String list(Model model) 44     { 45         model.addAttribute("users", map); 46         return "user/list"; 47     } 48     /** 49      * 到添加页面使用method请求的方式来区分 50      * @return 51      */ 52     @RequestMapping(value=http://www.mamicode.com/{"/add"},method=RequestMethod.GET) 53     public String add(User user) 54     { 55         return "/user/add"; 56     } 57     /** 58      * post请求方式实现真正的添加 59      * 使用bean validation 60      * BindingResult br 必须在@valid后面 61      * @return 62      */ 63     @RequestMapping(value=http://www.mamicode.com/{"/add"}, method=RequestMethod.POST) 64     public String add(@Validated User user,  BindingResult br) 65     { 66         if(br.hasErrors()) 67         { 68             //出错 69             return "user/add"; 70         } 71         map.put(user.getUserName(), user); 72         return "redirect:/user/list"; 73     } 74     /** 75      * 查看 76      * @param userName 77      * @param model 78      * @return 79      */ 80     @RequestMapping({"/{userName}/show"}) 81     public String show(@PathVariable String userName, Model model) 82     { 83         User user = map.get(userName); 84         model.addAttribute(user); 85         return "/user/show"; 86     } 87     /** 88      * 到修改页面 89      * @param userName 90      * @return 91      */ 92     @RequestMapping(value=http://www.mamicode.com/{"/{userName}/update"},method=RequestMethod.GET) 93     public String update(@PathVariable @ModelAttribute(value="http://www.mamicode.com/userName") String userName, Model model) 94     { 95         User user = map.get(userName); 96         model.addAttribute(user); 97         return "/user/update"; 98     } 99     /**100      * 真正的更新101      * @param userName102      * @param user103      * @param br104      * @return105      */106     @RequestMapping(value=http://www.mamicode.com/{"/{userName}/update"},method=RequestMethod.POST)107     public String update(@PathVariable String userName, @Valid User user, BindingResult br)108     {109         map.put(userName, user);110         return "redirect:/user/list";111     }112     /**113      * 删除的实现114      * @param userName115      * @return116      */117     @RequestMapping(value=http://www.mamicode.com/{"/{userName}/delete"},method=RequestMethod.GET)        118     public String delete(@PathVariable String userName)119     {120         map.remove(userName);121         return "redirect:/user/list";122     }123 }

使用到bean validation的类  注解放在get方法只上
 1 package com.kite.entity; 2  3  4 import javax.validation.constraints.Size; 5  6 import org.hibernate.validator.constraints.Email; 7 import org.hibernate.validator.constraints.NotEmpty; 8 import org.hibernate.validator.constraints.Range; 9 10 public class User11 {12     private String userName;13     private String password;14     private String nickName;15     private String email;16     public User()17     {18         super();19         // TODO Auto-generated constructor stub20     }21     public User(String userName, String password, String nickName, String email)22     {23         super();24         this.userName = userName;25         this.password = password;26         this.nickName = nickName;27         this.email = email;28     }29     @Override30     public String toString()31     {32         return "User [userName=" + userName + ", password=" + password33                 + ", nickName=" + nickName + ", email=" + email + "]";34     }35     @NotEmpty(message="用户名不能为空")36     public String getUserName()37     {38         return userName;39     }40     41     public void setUserName(String userName)42     {43         this.userName = userName;44     }45     @Size(min=6,max=18,message="密码的长度必须在6-18之间")46     public String getPassword()47     {48         return password;49     }50     51     public void setPassword(String password)52     {53         this.password = password;54     }55     public String getNickName()56     {57         return nickName;58     }59     public void setNickName(String nickName)60     {61         this.nickName = nickName;62     }63     @Email(message="邮箱格式不符合")64     public String getEmail()65     {66         return email;67     }68     69     public void setEmail(String email)70     {71         this.email = email;72     }73     74     75 }
其他代码就不一一复制了

 

 

基于springmvc的简单增删改查实现---中间使用到了bean validation