接收请求参数:

1,使用HttpServletRequest获取

  1. @RequestMapping("/login.do")
  2. public String login(HttpServletRequest request){
  3. String name = request.getParameter("name")
  4. String pass = request.getParameter("pass")
  5. }

 2,Spring会自动将表单参数注入到方法参数,和表单的name属性保持一致。和Struts2一样

  1. @RequestMapping("/login.do")
  2. public String login(HttpServletRequest request, String name,
  3. @RequestParam("pass")String password) // 表单属性是pass,用变量password接收
  4. {
  5. syso(name);
  6. syso(password)
  7. }

3,自动注入Bean属性

  1. <form action="login.do">
  2. 用户名:<input name="name"/>
  3. 密码:<input name="pass"/>
  4. <input type="submit" value="登陆">
  5. </form>
  6. //封装的User类
  7. public class User{
  8. private String name;
  9. private String pass;
  10. }
  1. @RequestMapping("/login.do")
  2. public String login(User user)
  3. {
  4. syso(user.getName());
  5. syso(user.getPass());
  6. }

向页面传值:

1,使用HttpServletRequest 和 Session  然后setAttribute(),就和Servlet中一样

2,使用ModelAndView对象

3,使用ModelMap对象

4,使用@ModelAttribute注解

例如:Session存储:可以利用HttpServletRequest的getSession()方法

  1. @RequestMapping("/login.do")
  2. public String login(String name,String pwd,  ModelMap model,HttpServletRequest request){
  3. User user = serService.login(name,pwd);
  4. HttpSession session = request.getSession();
  5. session.setAttribute("user",user);
  6. model.addAttribute("user",user);
  7. return "success";
  8. }

例如:Model数据会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public ModelAndView  login(String name,String pass){
  3. User user = userService.login(name,pwd);
  4. Map<String,Object> data = new HashMap<String,Object>();
  5. data.put("user",user);
  6. return new ModelAndView("success",data);
  7. }

使用ModelMap参数对象示例:ModelMap数据会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public String login(String name,String pass ,ModelMap model){
  3. User user  = userService.login(name,pwd);
  4. model.addAttribute("user",user);
  5. model.put("name",name);
  6. return "success";
  7. }

使用@ModelAttribute示例:

在Controller方法的参数部分或Bean属性方法上使用@ModelAttribute数据,会利用HttpServletRequest的Attribute传值到success.jsp中

  1. @RequestMapping("/login.do")
  2. public String login(@ModelAttribute("user") User user){
  3. //TODO
  4. return "success";
  5. }
  6. @ModelAttribute("name")
  7. public String getName(){
  8. return name;
  9. }

Spring MVC 默认采用的是转发来定位视图,如果要使用重定向,可以如下操作

1,使用RedirectView

2,使用redirect:前缀

  1. public ModelAndView login(){
  2. RedirectView view = new RedirectView("regirst.do");
  3. return new ModelAndView(view);
  4. }

或者用如下方法,工作中常用的方法

  1. public String login(){
  2. //TODO
  3. return "redirect:regirst.do";
  4. }

来源: http://blog.csdn.net/z69183787/article/details/41653875

最新文章

  1. Bootstrap_表单
  2. iis7.5 设置伪静态
  3. JSP 页面传参和接受参数
  4. Linux安装Oracle 11G过程(测试未写完)
  5. TF/IDF计算方法
  6. puppet任务计划
  7. Namespace:Openstack的网络实现
  8. Python---socket库
  9. WPF 中图片的加载 ,使用统一资源标识符 (URI)
  10. 解决VS2015单元测试“未能设置用于运行测试的执行上下文”问题
  11. Kali-linux使用Metasploit基础
  12. python的图形模块PIL小记
  13. 2017-2018-2 20165231 实验四 Android程序设计
  14. UVA11995 I Can Guess the Data Structure!
  15. 网络安全之sql注入
  16. &lt;jsp:include&gt;动作元素,附:最易出错的一点
  17. Ajax 滚动异步加载数据
  18. C++之enum枚举量声明、定义、使用与枚举类详解
  19. ElasticSearch 搜索原理
  20. OpenCV——PS 滤镜算法之平面坐标到极坐标的变换

热门文章

  1. python获取文件及文件夹大小
  2. 简单了解webservice
  3. ie8 下的半透明 background:rgba 与opacity失效 兼容办法
  4. java中的运算符与表达式
  5. python之file 方法
  6. centos8下jdk13和tomcat9的安装
  7. dhcpd.conf配置文件几例
  8. DA_05_Linux(CentOS6.7) 安装MySql5.7数据库
  9. Summer training #7
  10. HTML5的快捷方式