springmvc使用实体参数和ServletAPI
2015-07-12 21:23
821 查看
一、 实体参数
前面我们知道使用注解@RequestParam可以获得参数的值,那么现在提交一个表单怎么获得其中的值了。你可以说可以使用request.getParameter("")获得,是的这种方法确实能获得。那么现在如果表单有100个参数了,我们不会一个一个的去获得然后在set到model中,那样显得很麻烦。其实springmvc能直接把值一一对应到model中,下面来看下例子:
Users [name=test, password=password, roles=Roles [id=11, name=admin]]
二、 ServletAPI
下面来看springmvc里面怎么用ServletAPI,其实很好用的,看下例子:
前面我们知道使用注解@RequestParam可以获得参数的值,那么现在提交一个表单怎么获得其中的值了。你可以说可以使用request.getParameter("")获得,是的这种方法确实能获得。那么现在如果表单有100个参数了,我们不会一个一个的去获得然后在set到model中,那样显得很麻烦。其实springmvc能直接把值一一对应到model中,下面来看下例子:
package com.ztz.springmvc.model; public class Users { private String name; private String password; private Roles roles; //省略get set方法 //重写toString()方便测试 @Override public String toString() { return "Users [name=" + name + ", password=" + password + ", roles=" + roles + "]"; } }
package com.ztz.springmvc.model; public class Roles { private int id; private String name; //省略get set方法 //重写toString()方便测试 @Override public String toString() { return "Roles [id=" + id + ", name=" + name + "]"; } }
package com.ztz.springmvc.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import com.ztz.springmvc.model.Users; @Controller @RequestMapping("/user") public class UsersController { @RequestMapping(value="/getparams",method=RequestMethod.POST) private String findAll(Users users){ System.out.println(users); return "users"; } }
<form action="${basePath}user/getparams" method="post"> <label>用户名:</label><input type="text" name="name"/><br/> <label>密 码:</label><input type="password" name="password"/><br/> <label>编 号:</label><input type="text" name="roles.id"/><br/> <label>角色名:</label><input type="text" name="roles.name"/><br/> <input type="submit" value="提 交"/> </form>页面输入值,点击提交,控制台输出结果:
Users [name=test, password=password, roles=Roles [id=11, name=admin]]
二、 ServletAPI
下面来看springmvc里面怎么用ServletAPI,其实很好用的,看下例子:
@Controller @RequestMapping("/user") public class UsersController { @RequestMapping(value="/getparams",method=RequestMethod.POST) private String findAll(Users users,HttpServletRequest request, HttpSession session,HttpServletResponse response){ //放到request作用域 request.setAttribute("users", users); //放到session session.setAttribute("session", "session"); //输出cookie response.addCookie(new Cookie("res", "response123")); return "users"; } }表单的JSP还是前面的那个不变。来看下提交成功,转发到新的JSP页面:
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用户信息</title> </head> <body> <h3>${users}</h3> <h3>${session}</h3> </body> </html>点击提交,看下结果:
相关文章推荐
- 一个jar包里的网站
- 一个jar包里的网站之文件上传
- 一个jar包里的网站之返回对媒体类型
- spring+html5实现安全传输随机数字密码键盘
- Spring中属性注入详解
- Servlet与JSP间的两种传值情况
- JSP、Servlet中get请求和post请求的区别总结
- struts2 spring整合fieldError问题
- jsp和servlet的区别探讨
- spring的jdbctemplate的crud的基类dao
- Struts2访问servlet分享
- 读取spring配置文件的方法(spring读取资源文件)
- java中Servlet处理乱码的方法
- java实现简单美女拼图游戏
- Servlet 过滤器详细介绍
- java基本教程之线程休眠 java多线程教程
- JSP开发中在spring mvc项目中实现登录账号单浏览器登录
- servlet中session简介和使用例子
- 在Jsp Servlet中页面重新定向总汇