1. spring mvc实现新增用户

1、先在展示页面(查询出来的结果页)添加一个连接<a href="add">添加</a>

2、在后台添加一个添加的方法,点击添加,是跳转到add.jsp页面,刚过去没数据,应该是get方法请求

  1. @RequestMapping(value="/add",method=RequestMethod.GET)
  2. public String add(){
  1.   //这个页面点击add跳转就会报500的错,传入的是空的
  1.     return "user/add"; }

 

  1. //链接到add页面时,为get请求,访问以下代码(两种方式)
  2. @RequestMapping(value="/add",method=RequestMethod.GET)
  3. /* 方式一:
  4. public String add(Model model){
  5. model.addAttribute(new User());
  6. return "user/add";
  7. }
  8. */
  9. // 方式二:把一个对象放入到model中,key 就是 user
  10. public String add(@ModelAttribute("user") User user){
  11. //model.addAttribute(new User());
  12. return "user/add";
  13. }
  1.      //add方法,根据get和post请求来调用哪个方法
  2. //提交数据的时候时post请求
  3. //如果页面有提交到action,这边的value就是action的值
  4. @RequestMapping(value="/add",method=RequestMethod.POST)
  5. public String add(User user){
  6. //把user对象放进去key(id)
  7. userList.put(user.getId(), user);
  8.  
  9. // return "user/userlist";//返回到逻辑视图名
  10. //(添加后,不能把添加过的数据展示出来)服务器端行为
  11. return "redirect:user/list";//客户端重新发送请求(把添加进去的展示出来)
  12. }

3、在add.jsp中添加form表单

  1. <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
  2. 这句话在spring-framework-3.2.1.RELEASE-dist\spring-framework-3.2.1.RELEASE\docs\spring-framework-reference\html\view.html中
  3. <body>
  4. <!-- 不指定action,那么请求提交到/add -->
  5. <!-- modelAttribute添加的对象(我们添加用户,就是添加到user中) -->
  6. <form:form modelAttribute = "user" method="post">
  7. ID:<form:input path="id"/><br/>
  8. userName:<form:input path="userName"/><br/>
  9. password:<form:input path="password"/><br/>
  10. email:<form:input path="email"/><br/>
  11. <input type="submit" value="提交"/>
  12. </form:form>
  13. </body>

处理编码问题

  1. <!-- 处理中文编码的filter -->
  2. <filter>
  3. <filter-name>encodingFilter</filter-name>
  4. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  5. <init-param>
  6. <param-name>encoding</param-name>
  7. <param-value>UTF-8</param-value>
  8. </init-param>
  9. </filter>
  10. <filter-mapping>
  11. <filter-name>encodingFilter</filter-name>
  12. <url-pattern>/*</url-pattern>
  13. </filter-mapping>

验证添加页面(注释方法)

  1. public class User {
  2. private String id;
  3. private String userName;
  4. private String password;
  5. private String email;
  6.  
  7. public User(){
  8.  
  9. }
  10. public User(String id, String userName, String password, String email) {
  11. this.id = id;
  12. this.userName = userName;
  13. this.password = password;
  14. this.email = email;
  15. }
  16. public String getId() {
  17. return id;
  18. }
  19. public void setId(String id) {
  20. this.id = id;
  21. }
  22. @NotEmpty(message="用户名不能为空")
  23. public String getUserName() {
  24. return userName;
  25. }
  26. public void setUserName(String userName) {
  27. this.userName = userName;
  28. }
  29. @Size(min=4,max=10,message="密码长度4-10位")
  30. public String getPassword() {
  31. return password;
  32. }
  33. public void setPassword(String password) {
  34. this.password = password;
  35. }
  36. @Email(message="邮箱格式不正确")
  37. public String getEmail() {
  38. return email;
  39. }
  40. public void setEmail(String email) {
  41. this.email = email;
  42. }
  43. }
  1. @NotEmpty(message="用户名不能为空")
  2. public String getUserName() {
  3. return userName;
  4. }
  5. @Size(min=4,max=10,message="密码长度4-10位")
  6. public String getPassword() {
  7. return password;
  8. }
  9. @Email(message="邮箱格式不正确")
  10. public String getEmail() {
  11. return email;
  12. }

在控制器那得加一个验证注释

@Validated User user,BindingResult bindingResult

  1. //添加用户是,为post请求,访问以下代码
  2. @RequestMapping(value="/add",method=RequestMethod.POST)
  3. public String add(@Validated User user,BindingResult bindingResult){//紧跟validate之后写验证结果
  4. if(bindingResult.hasErrors()){
  5. //若有错误,直接掉转到add 视图
  6. return "user/add";
  7. }
  8. userList.put(user.getUserName(), user);
  9. return "redirect:/user/userlist";
  10. }

最后在页面上提示错误

  1. <body>
  2. <!-- 没有写action,直接提交给/add -->
  3. <form:formmethod="post" modelAttribute="user">
  4. UserName:<sf:input path="userName"/><form:errors path="userName"/><br/>
  5. password:<sf:password path="password"/><sf:errors path="password"/><br/>
  6. email:<sf:input path="email"/><form:errors path="email"/><br/>
  7. <input type="submit" value="保存"/>
  8. </form:form>
  9. </body>

添加的控制器(完整代码)

  1. @Controller
  2. @RequestMapping("/user")
  3. public class UserController {
  4. private Map<String, User> userList= new HashMap<String, User>();
  5.  
  6. public UserController() {
  7. userList.put("hl", new User("hl","123456","部门经理","hanlu@bdqn.cn"));
  8. userList.put("zs", new User("zs","123456","质量经理","zhangsan@bdqn.cn"));
  9. userList.put("zw", new User("zw","123456","开发工程师","zhangwei@bdqn.cn"));
  10. userList.put("ly", new User("ly","123456","实施顾问","liyu@bdqn.cn"));
  11. }
  12. //上面的value是url,下面的userlist是视图逻辑名
  13. @RequestMapping(value="/userlist",method=RequestMethod.GET)
  14. public String list(Model model){
  15. model.addAttribute("userlist",userList);
  16. return "user/list";//逻辑视图名
  17. }
  18.  
  19. //链接到add页面时,为get请求,访问以下代码(两种方式)
  20. @RequestMapping(value="/adduser",method=RequestMethod.GET)
  21. /* 方式一:
  22. public String add(Model model){
  23. model.addAttribute(new User());
  24. return "user/add";
  25. }
  26. */
  27. // 方式二:把一个对象放入到model中,key 就是 user
  28. public String add(@ModelAttribute("user") User user){
  29. //model.addAttribute(new User());
  30. return "user/add";
  31. }
  32.  
  33. //添加用户是,为post请求,访问以下代码
  34. @RequestMapping(value="/adduser",method=RequestMethod.POST)
  35. public String add(@Validated User user,BindingResult bindingResult){//紧跟validate之后写验证结果
  36. if(bindingResult.hasErrors()){
  37. //若有错误,直接掉转到add 视图
  38. return "user/add";
  39. }
  40. userList.put(user.getUserName(), user);
  41. return "redirect:/user/userlist";//客户端重新发送请求
  42. }
  43.  
  44. }

别忘了添加验证的3个jar包aaarticlea/png;base64,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" alt="" />

1、在userlist.jsp的展示页面添加链接

  1. <a href="view/${ul.value.id }">userName:${ul.value.userName }</a><br/>

2、实现view.jsp页面

  1. <body>
  2. =============查看用户信息===========
  3. ID:${user.id }<br/>
  4. userName:${user.userName }<br/>
  5. password:${user.password }<br/>
  6. email:${user.email }<br/>
  7. </body>

在userController中再加上如下代码:实现查看每条记录

  1. //地址中的参数用{id}来写
  2. //REST风格 是/user/list/{id} 网页那是?id=3
  3. @RequestMapping(value="/view/{id}",method=RequestMethod.GET)
  4. public String view(@PathVariable String id,Model model){
  5. //userlist。get就是拿到key(id)的值
  6. model.addAttribute(userList.get(id));
  7. return "user/view";
  8. }

增加后的查看view.jsp

spring mvc实现新增用户的更多相关文章

  1. Spring MVC学习笔记——用户增删该查和服务器端验证

    建立一个动态web项目,起名为SpringMVC_crud 导包,其中包括jstl的一些包等 1.先写一个User.java,是用户类 文件User.java文件 package org.common ...

  2. Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息

    SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUse ...

  3. Spring MVC教程——检视阅读

    Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通 ...

  4. spring mvc+myBatis配置详解

    一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...

  5. Hibernate validator使用和自定义validator及整合Spring MVC

    http://blog.csdn.net/lwphk/article/details/43983669 Hibernate validator使用 导入validation-api-xxx.jar 以 ...

  6. Spring MVC之简单入门

    一.Spring MVC简介: 1.什么是MVC 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型(Model).视图(View)及控制器(Contr ...

  7. Java Web 学习(4) —— Spring MVC 概览

    Spring MVC 概览 一. Spring MVC Spring MVC 是一个包含了 Dispatcher Servlet 的 MVC 框架. Dispatcher Servlet 实现了 : ...

  8. Spring MVC -- Spring MVC入门

    本篇博客首先介绍Spring MVC的优点,然后介绍Spring MVC的基本组件,包括DispatcherServlet,并学习如何开发一个“传统风格”的控制器,这是在Spring 2.5版本之前开 ...

  9. 一、Spring MVC起步——IntelliJ IDEA 搭建Spring MVC环境(手把手搭建)

    本机环境: JDK 1.7 IntelliJ IDEA 2017.2 1.新建项目 Create New Project ​ 选择Spring MVC ​ 填写项目名和项目存放位置 ​ 然后点击Fin ...

随机推荐

  1. 基于IHttpAsyncHandler的实时大文件传送器

    在日常工作中,有时候需要到远程服务器上部署新版本的系统,由于远程服务器出于外网,所以每次都要开QQ连接,非常麻烦.索性就研究了下IHttpasyncHandler,并结合Juqery Progress ...

  2. puer工具的使用

    在项目开发的过程当中,总会有前端开发快完成,后端接口却迟迟提供不了的情况.此时为了不影响前端开发的进度,我们可以借助puer来模拟后端接口测试.简单的说,puer就是一个可以实时刷新的前端服务器.具体 ...

  3. LeetCode:Clone Graph

    题目如下:实现克隆图的算法  题目链接 Clone an undirected graph. Each node in the graph contains a label and a list of ...

  4. ios UILocalNotification的使用

    iOS下的Notification的使用 Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iO ...

  5. 自己编写redis客户端[deerlet-redis-client],分享与招募。

    引言 最近工作上有需要使用redis,于是便心血来潮打算自己写一个Java客户端.经过两天的努力,目前该客户端已经基本成型.不过可惜的是,由于redis的命令众多,因此LZ还需要慢慢扩展它去支持更多的 ...

  6. css大牛的博客

    一个不能再牛的个人简历,请用pc观看:http://strml.net/ 用css来画圆http://jingyan.baidu.com/article/c910274be4dd69cd371d2d4 ...

  7. [BZOJ 1297][SCOI 2009]迷路(矩阵快速幂)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1297 分析:如果每条边的边权都是1,那么就相当于对邻接矩阵自乘T次(因为写一下递推式子 ...

  8. 年终福利:调试.NET Framework源代码

    前言 要问JAVA语言最大的优势之一,那就是开源.开源的JAVA框架让JAVA程序员可以不断的通过看源代码来学习.成长.解决问题.并随着时间增长能力越来越强,自然薪水就越来越高.而DONET程序员要看 ...

  9. WCF入门(7)

    前言 前段时间忙着驾照科目二的考试,都没有机会碰自己的电脑.说起来也是第一次参加这么没信心的考试,不过好在过了. 再打个广告吧,昨天终于把下载的WCF视频全部传到了QQ群共享里面,群号37819043 ...

  10. JS表单学习笔记(思维导图)

    导图