spring mvc实现新增用户
- spring mvc实现新增用户
1、先在展示页面(查询出来的结果页)添加一个连接<a href="add">添加</a>
2、在后台添加一个添加的方法,点击添加,是跳转到add.jsp页面,刚过去没数据,应该是get方法请求
- @RequestMapping(value="/add",method=RequestMethod.GET)
- public String add(){
- //这个页面点击add跳转就会报500的错,传入的是空的
- return "user/add"; }
- //链接到add页面时,为get请求,访问以下代码(两种方式)
- @RequestMapping(value="/add",method=RequestMethod.GET)
- /* 方式一:
- public String add(Model model){
- model.addAttribute(new User());
- return "user/add";
- }
- */
- // 方式二:把一个对象放入到model中,key 就是 user
- public String add(@ModelAttribute("user") User user){
- //model.addAttribute(new User());
- return "user/add";
- }
- //add方法,根据get和post请求来调用哪个方法
- //提交数据的时候时post请求
- //如果页面有提交到action,这边的value就是action的值
- @RequestMapping(value="/add",method=RequestMethod.POST)
- public String add(User user){
- //把user对象放进去key(id)
- userList.put(user.getId(), user);
- // return "user/userlist";//返回到逻辑视图名
- //(添加后,不能把添加过的数据展示出来)服务器端行为
- return "redirect:user/list";//客户端重新发送请求(把添加进去的展示出来)
- }
3、在add.jsp中添加form表单
- <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
- 这句话在spring-framework-3.2.1.RELEASE-dist\spring-framework-3.2.1.RELEASE\docs\spring-framework-reference\html\view.html中
- <body>
- <!-- 不指定action,那么请求提交到/add -->
- <!-- modelAttribute添加的对象(我们添加用户,就是添加到user中) -->
- <form:form modelAttribute = "user" method="post">
- ID:<form:input path="id"/><br/>
- userName:<form:input path="userName"/><br/>
- password:<form:input path="password"/><br/>
- email:<form:input path="email"/><br/>
- <input type="submit" value="提交"/>
- </form:form>
- </body>
处理编码问题
- <!-- 处理中文编码的filter -->
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
验证添加页面(注释方法)
- public class User {
- private String id;
- private String userName;
- private String password;
- private String email;
- public User(){
- }
- public User(String id, String userName, String password, String email) {
- this.id = id;
- this.userName = userName;
- this.password = password;
- this.email = email;
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- @NotEmpty(message="用户名不能为空")
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- @Size(min=4,max=10,message="密码长度4-10位")
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @Email(message="邮箱格式不正确")
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- }
- @NotEmpty(message="用户名不能为空")
- public String getUserName() {
- return userName;
- }
- @Size(min=4,max=10,message="密码长度4-10位")
- public String getPassword() {
- return password;
- }
- @Email(message="邮箱格式不正确")
- public String getEmail() {
- return email;
- }
在控制器那得加一个验证注释
@Validated User user,BindingResult bindingResult
- //添加用户是,为post请求,访问以下代码
- @RequestMapping(value="/add",method=RequestMethod.POST)
- public String add(@Validated User user,BindingResult bindingResult){//紧跟validate之后写验证结果
- if(bindingResult.hasErrors()){
- //若有错误,直接掉转到add 视图
- return "user/add";
- }
- userList.put(user.getUserName(), user);
- return "redirect:/user/userlist";
- }
最后在页面上提示错误
- <body>
- <!-- 没有写action,直接提交给/add -->
- <form:formmethod="post" modelAttribute="user">
- UserName:<sf:input path="userName"/><form:errors path="userName"/><br/>
- password:<sf:password path="password"/><sf:errors path="password"/><br/>
- email:<sf:input path="email"/><form:errors path="email"/><br/>
- <input type="submit" value="保存"/>
- </form:form>
- </body>
添加的控制器(完整代码)
- @Controller
- @RequestMapping("/user")
- public class UserController {
- private Map<String, User> userList= new HashMap<String, User>();
- public UserController() {
- userList.put("hl", new User("hl","123456","部门经理","hanlu@bdqn.cn"));
- userList.put("zs", new User("zs","123456","质量经理","zhangsan@bdqn.cn"));
- userList.put("zw", new User("zw","123456","开发工程师","zhangwei@bdqn.cn"));
- userList.put("ly", new User("ly","123456","实施顾问","liyu@bdqn.cn"));
- }
- //上面的value是url,下面的userlist是视图逻辑名
- @RequestMapping(value="/userlist",method=RequestMethod.GET)
- public String list(Model model){
- model.addAttribute("userlist",userList);
- return "user/list";//逻辑视图名
- }
- //链接到add页面时,为get请求,访问以下代码(两种方式)
- @RequestMapping(value="/adduser",method=RequestMethod.GET)
- /* 方式一:
- public String add(Model model){
- model.addAttribute(new User());
- return "user/add";
- }
- */
- // 方式二:把一个对象放入到model中,key 就是 user
- public String add(@ModelAttribute("user") User user){
- //model.addAttribute(new User());
- return "user/add";
- }
- //添加用户是,为post请求,访问以下代码
- @RequestMapping(value="/adduser",method=RequestMethod.POST)
- public String add(@Validated User user,BindingResult bindingResult){//紧跟validate之后写验证结果
- if(bindingResult.hasErrors()){
- //若有错误,直接掉转到add 视图
- return "user/add";
- }
- userList.put(user.getUserName(), user);
- return "redirect:/user/userlist";//客户端重新发送请求
- }
- }
别忘了添加验证的3个jar包aaarticlea/png;base64,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" alt="" />
1、在userlist.jsp的展示页面添加链接
- <a href="view/${ul.value.id }">userName:${ul.value.userName }</a><br/>
2、实现view.jsp页面
- <body>
- =============查看用户信息===========
- ID:${user.id }<br/>
- userName:${user.userName }<br/>
- password:${user.password }<br/>
- email:${user.email }<br/>
- </body>
在userController中再加上如下代码:实现查看每条记录
- //地址中的参数用{id}来写
- //REST风格 是/user/list/{id} 网页那是?id=3
- @RequestMapping(value="/view/{id}",method=RequestMethod.GET)
- public String view(@PathVariable String id,Model model){
- //userlist。get就是拿到key(id)的值
- model.addAttribute(userList.get(id));
- return "user/view";
- }
增加后的查看view.jsp
spring mvc实现新增用户的更多相关文章
- Spring MVC学习笔记——用户增删该查和服务器端验证
建立一个动态web项目,起名为SpringMVC_crud 导包,其中包括jstl的一些包等 1.先写一个User.java,是用户类 文件User.java文件 package org.common ...
- Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息
SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUse ...
- Spring MVC教程——检视阅读
Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通 ...
- spring mvc+myBatis配置详解
一.spring mvc Spring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M- ...
- Hibernate validator使用和自定义validator及整合Spring MVC
http://blog.csdn.net/lwphk/article/details/43983669 Hibernate validator使用 导入validation-api-xxx.jar 以 ...
- Spring MVC之简单入门
一.Spring MVC简介: 1.什么是MVC 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型(Model).视图(View)及控制器(Contr ...
- Java Web 学习(4) —— Spring MVC 概览
Spring MVC 概览 一. Spring MVC Spring MVC 是一个包含了 Dispatcher Servlet 的 MVC 框架. Dispatcher Servlet 实现了 : ...
- Spring MVC -- Spring MVC入门
本篇博客首先介绍Spring MVC的优点,然后介绍Spring MVC的基本组件,包括DispatcherServlet,并学习如何开发一个“传统风格”的控制器,这是在Spring 2.5版本之前开 ...
- 一、Spring MVC起步——IntelliJ IDEA 搭建Spring MVC环境(手把手搭建)
本机环境: JDK 1.7 IntelliJ IDEA 2017.2 1.新建项目 Create New Project 选择Spring MVC 填写项目名和项目存放位置 然后点击Fin ...
随机推荐
- 基于IHttpAsyncHandler的实时大文件传送器
在日常工作中,有时候需要到远程服务器上部署新版本的系统,由于远程服务器出于外网,所以每次都要开QQ连接,非常麻烦.索性就研究了下IHttpasyncHandler,并结合Juqery Progress ...
- puer工具的使用
在项目开发的过程当中,总会有前端开发快完成,后端接口却迟迟提供不了的情况.此时为了不影响前端开发的进度,我们可以借助puer来模拟后端接口测试.简单的说,puer就是一个可以实时刷新的前端服务器.具体 ...
- LeetCode:Clone Graph
题目如下:实现克隆图的算法 题目链接 Clone an undirected graph. Each node in the graph contains a label and a list of ...
- ios UILocalNotification的使用
iOS下的Notification的使用 Notification是智能手机应用编程中非常常用的一种传递信息的机制,而且可以非常好的节省资源,不用消耗资源来不停地检查信息状态(Pooling),在iO ...
- 自己编写redis客户端[deerlet-redis-client],分享与招募。
引言 最近工作上有需要使用redis,于是便心血来潮打算自己写一个Java客户端.经过两天的努力,目前该客户端已经基本成型.不过可惜的是,由于redis的命令众多,因此LZ还需要慢慢扩展它去支持更多的 ...
- css大牛的博客
一个不能再牛的个人简历,请用pc观看:http://strml.net/ 用css来画圆http://jingyan.baidu.com/article/c910274be4dd69cd371d2d4 ...
- [BZOJ 1297][SCOI 2009]迷路(矩阵快速幂)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1297 分析:如果每条边的边权都是1,那么就相当于对邻接矩阵自乘T次(因为写一下递推式子 ...
- 年终福利:调试.NET Framework源代码
前言 要问JAVA语言最大的优势之一,那就是开源.开源的JAVA框架让JAVA程序员可以不断的通过看源代码来学习.成长.解决问题.并随着时间增长能力越来越强,自然薪水就越来越高.而DONET程序员要看 ...
- WCF入门(7)
前言 前段时间忙着驾照科目二的考试,都没有机会碰自己的电脑.说起来也是第一次参加这么没信心的考试,不过好在过了. 再打个广告吧,昨天终于把下载的WCF视频全部传到了QQ群共享里面,群号37819043 ...
- JS表单学习笔记(思维导图)
导图