一.读取请求参数值
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);
}