Spring篇--04 Spring MVC之读取请求参数值、向页面传值及重定向

.读取请求参数值

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);
	}

猜你喜欢

转载自blog.csdn.net/Mind_programmonkey/article/details/80040772