Spring MVC 获取请求参数、多文件上传

通过@PathVariabl注解获取路径中传递参数
	@RequestMapping(value = "/{id}/{str}")
	public ModelAndView helloWorld(@PathVariable String id, @PathVariable String str) {
		System.out.println(id);
		System.out.println(str);
		return new ModelAndView("/helloWorld");
	}


用@ModelAttribute注解获取POST请求的FORM表单数据
	<form method="post" action="hao.do" enctype="multipart/form-data">
		a: <input id="a" type="text" name="a" value="a"/>
		b: <input id="b" type="text" name="b" value="10"/>
		file0: <input id="file0" name="addFiles" type="file" />
		file1: <input id="file1" name="addFiles" type="file" />
		<input type="submit" value="Submit" />
	</form>

	public class Pojo{
		private String a;
		private int b;
		private List<MultipartFile> addFiles = new ArrayList<MultipartFile>();
		...set();get();...
	}

	@RequestMapping(params = "method=processSubmit")
	public String processSubmit(@ModelAttribute("pojo") Pojo pojo) {
			return "helloWorld";
	}


直接用HttpServletRequest获取
	@RequestMapping(method = RequestMethod.GET)
	public String get(HttpServletRequest request, HttpServletResponse response) {
		System.out.println(request.getParameter("a"));
		return "helloWorld";
	}


用注解@RequestParam绑定请求参数a到变量a
当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,
例如: @RequestParam(value="a", required=false)
	@RequestMapping(value = "/requestParam", method = RequestMethod.GET)
	public String setupForm(@RequestParam("a") String a, ModelMap model) {
		System.out.println(a);
		return "helloWorld";
	}

猜你喜欢

转载自sunyf.iteye.com/blog/1700912