博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于springmvc的简单增删改查实现---中间使用到了bean validation
阅读量:7122 次
发布时间:2019-06-28

本文共 4746 字,大约阅读时间需要 15 分钟。

package com.kite.controller;import java.util.HashMap;import java.util.Map;import javax.validation.Valid;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.validation.BindingResult;import org.springframework.validation.annotation.Validated;import org.springframework.web.bind.annotation.ModelAttribute;import org.springframework.web.bind.annotation.PathVariable;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import com.kite.entity.User;/** * 简单的增删改查实现 * @author kite * */@Controller@RequestMapping(value={
"/user"})public class UserController{ //简单数据模拟 Map
map = new HashMap
(); public UserController() { map.put("zs", new User("zs", "123", "张三", "123dsad456")); map.put("ll", new User("ll", "321", "李四", "123dsa456")); map.put("ww", new User("ww", "32154", "王五", "dsa")); map.put("zl", new User("zl", "5dsada", "赵六", "dsadsa")); } /** * 显示列表 * @param model * @return */ @RequestMapping({
"/list"}) public String list(Model model) { model.addAttribute("users", map); return "user/list"; } /** * 到添加页面使用method请求的方式来区分 * @return */ @RequestMapping(value={
"/add"},method=RequestMethod.GET) public String add(User user) { return "/user/add"; } /** * post请求方式实现真正的添加 * 使用bean validation * BindingResult br 必须在@valid后面 * @return */ @RequestMapping(value={
"/add"}, method=RequestMethod.POST) public String add(@Validated User user, BindingResult br) { if(br.hasErrors()) { //出错 return "user/add"; } map.put(user.getUserName(), user); return "redirect:/user/list"; } /** * 查看 * @param userName * @param model * @return */ @RequestMapping({
"/{userName}/show"}) public String show(@PathVariable String userName, Model model) { User user = map.get(userName); model.addAttribute(user); return "/user/show"; } /** * 到修改页面 * @param userName * @return */ @RequestMapping(value={
"/{userName}/update"},method=RequestMethod.GET) public String update(@PathVariable @ModelAttribute(value="userName") String userName, Model model) { User user = map.get(userName); model.addAttribute(user); return "/user/update"; } /** * 真正的更新 * @param userName * @param user * @param br * @return */ @RequestMapping(value={
"/{userName}/update"},method=RequestMethod.POST) public String update(@PathVariable String userName, @Valid User user, BindingResult br) { map.put(userName, user); return "redirect:/user/list"; } /** * 删除的实现 * @param userName * @return */ @RequestMapping(value={
"/{userName}/delete"},method=RequestMethod.GET) public String delete(@PathVariable String userName) { map.remove(userName); return "redirect:/user/list"; }}使用到bean validation的类 注解放在get方法只上package com.kite.entity;import javax.validation.constraints.Size;import org.hibernate.validator.constraints.Email;import org.hibernate.validator.constraints.NotEmpty;import org.hibernate.validator.constraints.Range;public class User{ private String userName; private String password; private String nickName; private String email; public User() { super(); // TODO Auto-generated constructor stub } public User(String userName, String password, String nickName, String email) { super(); this.userName = userName; this.password = password; this.nickName = nickName; this.email = email; } @Override public String toString() { return "User [userName=" + userName + ", password=" + password + ", nickName=" + nickName + ", email=" + email + "]"; } @NotEmpty(message="用户名不能为空") public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } @Size(min=6,max=18,message="密码的长度必须在6-18之间") public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getNickName() { return nickName; } public void setNickName(String nickName) { this.nickName = nickName; } @Email(message="邮箱格式不符合") public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }其他代码就不一一复制了

 

转载地址:http://vtiel.baihongyu.com/

你可能感兴趣的文章
ADO.NET连接Access数据库实例
查看>>
c# winform窗体边框风格的设计
查看>>
【转】简述configure、pkg-config、pkg_config_path三者的关系
查看>>
Linux Watchdog Test Program
查看>>
Linux命令之reset - 终端屏幕混乱的终结者
查看>>
Java多线程3:Thread中的静态方法
查看>>
从SQL Server数据库转到Oracle数据库的数据脚本处理
查看>>
使用Javap
查看>>
jquery 使用方法
查看>>
栈的增长方向(ZZ)
查看>>
end_request: I/O error
查看>>
C# 串口操作系列(4) -- 协议篇,文本协议数据解析 .
查看>>
rman备份恢复总结
查看>>
PHP环境下配置WebGrind——让你的网站性能看得见
查看>>
使用代码更新 UIVersion 属性
查看>>
谁扰乱了中国的工资秩序?
查看>>
两种Freemarker模板路径设置方法
查看>>
PS网页设计教程V——如何在Photoshop中创建一个商业网站布局
查看>>
【css】谈谈 css 的各种居中——读编写高质量代码有感
查看>>
mssql 事务的一个例子
查看>>