一.读取请求参数值
1、通过request对象
注:将request对象作为方法的入参可
@RequestMapping("/login1.do") public String login1(HttpServletRequest request) { System.out.println("login1()"); String adminCode=request.getParameter("adminCode"); String pwd = request.getParameter("pwd"); System.out.println(adminCode+":"+pwd); return "index"; }
2.使用一个注解@RequestParam注解
注:将该注解添加到方法的形参前面
@RequestMapping("/login2.do") //读取请求参数值的第二种方式 //使用@RequestParam注解 public String login2(String adminCode,@RequestParam("pwd")String password) { System.out.println("login2()"); System.out.println("adminCode:"+adminCode+"pwd:"+password); return "index"; }
3.使用javabean封装请求参数值
step1:写一个Java类,要求提供相应的get/set方法
step2:将该javabean作为方法的形参
@RequestMapping("/login3.do") //读取请求参数值的第三种方式 //封装成一个javabean public String login3(AdminParam ap) { System.out.println("login3()"); System.out.println(ap.getAdminCode()+" "+ap.getPwd()); return "index"; }
二、向页面传值
1.使用request
将数据绑定到request,然后转发到某个jsp中。
注:springmvc默认使用转发
@RequestMapping("/login4.do") //向页面传值的第一种方式 //使用request public String login4(AdminParam ap,HttpServletRequest request) { System.out.println("login5()"); String adminCode=ap.getAdminCode(); System.out.println(adminCode); //将数据绑定到request中 request.setAttribute("adminCode", adminCode); //springmvc默认使用转发 return "index"; }
2.使用ModelAndView
将数据先封装到ModelAndView对象里面,然后将该对象作为方法的返回值
@RequestMapping("/login5.do") //向页面传值的第二种方式 //使用ModelAndView public ModelAndView login5(AdminParam ap) { System.out.println("login5()"); String adminCode = ap.getAdminCode(); System.out.println(adminCode); Map<String, Object> data=new HashMap<String, Object>(); //相当于request.setAttribute("adminCode",adminCode); data.put("adminCode", adminCode); //构造ModelAndView对象 ModelAndView modelAndView = new ModelAndView("index",data); return modelAndView; }
3.使用ModelMap
将该对象作为方法的参数,然后将数据绑定到该对象
@RequestMapping("/login6.do") //向页面传值的第三种方式 public String login6(AdminParam ap,ModelMap mm) { System.out.println("login6()"); String adminCode = ap.getAdminCode(); System.out.println(adminCode); mm.addAttribute("adminCode", adminCode); return "index"; }
4.使用session
@RequestMapping("/login7.do") //向页面传值的第四种方式 //使用session public String login7(AdminParam ap,HttpSession session) { System.out.println("login7()"); String adminCode = ap.getAdminCode(); System.out.println(adminCode); session.setAttribute("adminCode", adminCode); return "index"; }
三、重定向
1.如果方法的返回值是String;
在重定向地址前添加“redirect:”
@RequestMapping("/login8.do") public String login8() { System.out.println("login8()"); return "redirect:toIndex.do"; }
2.如果方法的返回值是ModelAndView
@RequestMapping("/login9.do") public ModelAndView login9() { System.out.println("login9()"); RedirectView rv=new RedirectView("toIndex.do"); return new ModelAndView(rv); }