spring mvc中前端与后端数据交互的方法

一、前端往后端传递数据(view -> controller)

方式一、

index.jsp:

<a href="handler/welcome2/testname">spring mvc welcome2</a>

servlet(controller层)端接收数据:

	@RequestMapping(value="welcome2/{name}")
	public String welcome2(@PathVariable("name") String name ,HttpServletRequest request ) {
		
		request.setAttribute("name", name);
		return "welcomeHi";
		
	}

其实如果通过request对象去取值的话,有很多种方法getAttribute\getParameter等。

方式二、

jsp:

<form action="handler/testModelAndView" method="POST">
	stuNo : <input name ="stuNo"></input><br/>
	stuName : <input name ="stuName"></input><br/>
	stuAge : <input name ="stuAge"></input><br/>
	addr : <input name ="address.addr"></input><br/>
	tel : <input name ="address.tel"></input><br/>
	<input type="submit" value="testModelAndView"></input>
	</form>

servlet:

	@RequestMapping(value="testModelAndView")
	public ModelAndView welcome4(Student student) {//Student 属性必须和form表单中的属性name值一致(支持级联属性,如Student中的address)
		
		ModelAndView mv=new ModelAndView("welcome4");
		mv.addObject("student",student);//相当于request.setAttribute("student",student);
		return mv;
		
	}

二、后端往前端传值(controller->view)

1、使用request将值放入requestScope中

如前面使用的request.setAttribute

2、ModelAndView:

@RequestMapping(value="testModelAndView")
	public ModelAndView welcome4(Student student) {//Student 属性必须和form表单中的属性name值一致(支持级联属性,如Student中的address)
		
		ModelAndView mv=new ModelAndView("welcome4");
		mv.addObject("student",student);//相当于request.setAttribute("student",student);
		return mv;
		
	}

3、ModelMap

@RequestMapping(value="testModelMap")
	public String welcome5(ModelMap mm,Student student) {//Student 属性必须和form表单中的属性name值一致(支持级联属性,如Student中的address)
		
		mm.put("student",student);//相当于request.setAttribute("student",student);
		return "welcome4";
		
	}

4、Map

	@RequestMapping(value="testMap")
	public String welcome6(Map<String,Object> map,Student student) {//Student 属性必须和form表单中的属性name值一致(支持级联属性,如Student中的address)

		map.put("student",student);//相当于request.setAttribute("student",student);
		return "welcome4";
		
	}

5、Model

	@RequestMapping(value="testModel")
	public String welcome7(Model model,Student student) {//Student 属性必须和form表单中的属性name值一致(支持级联属性,如Student中的address)

		model.addAttribute("student",student);//相当于request.setAttribute("student",student);
		return "welcome4";
		
	}

猜你喜欢

转载自blog.csdn.net/zyfzhangyafei/article/details/88972305
今日推荐