springmvc接收请求参数(springmvc教程二)

目录

      • 工程代码
      • 普通接收请求参数
      • pojo接收请求参数
      • @RequestParam接收请求参数
      • restful风格 URL接收请求参数
      • json接收请求参数
      • Array数据接收请求参数
      • 接收请求参数序列化 serialize

工程代码

github: https://github.com/dengjili/springmvc

普通接收请求参数

请求地址: http://localhost:8080/springmvc/param/normalParam?name=%张三¬e=mmp

	// 如果参数名称与url中保持一致,则无需注解,自动映射
	// 适用于参数个数较少
	@RequestMapping("/normalParam")
	public ModelAndView normalParam(String name, String note) {
		logger.debug("name: {}", name);
		logger.debug("note: {}", note);

		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}

pojo接收请求参数

请求地址: http://localhost:8080/springmvc/param/beanParam?name=abc¬e=mmp2

	// pojo中的属性与url中保持一致,则无需注解,自动映射
	// 适用于参数个数较多,封装成bean对象
	@RequestMapping("/beanParam")
	public ModelAndView beanParam(BeanParam beanParam) {
		logger.debug("name: {}", beanParam.getName());
		logger.debug("note: {}", beanParam.getNote());

		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}

BeanParam

public class BeanParam {
	
	private String name;
	private String note;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getNote() {
		return note;
	}
	public void setNote(String note) {
		this.note = note;
	}
	
}

@RequestParam接收请求参数

请求地址: http://localhost:8080/springmvc/param/requestParam?pre_name=ab&pre_note=ha

	// url和参数名称不一致,使用@RequestParam进行参数转换
	// boolean required() default true;
	@RequestMapping("/requestParam")
	public ModelAndView requestParam(@RequestParam("pre_name") String name, @RequestParam("pre_note") String note) {
		logger.debug("name: {}", name);
		logger.debug("note: {}", note);

		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}

restful风格 URL接收请求参数

请求地址: http://localhost:8080/springmvc/param/get/1236787/张三

	// restful风格 关键字:@RequestMapping, @PathVariable
	@RequestMapping(value = "/get/{id}/{name}", method = RequestMethod.GET)
	public ModelAndView get(@PathVariable("id") String id, @PathVariable("name") String name) {
		logger.debug("name: {}", id);
		logger.debug("name: {}", name);

		ModelAndView mv = new ModelAndView();
		mv.setViewName("index");
		return mv;
	}

前置页面 jquery.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>



	复杂参数学习
	
	


	

json


列表数据


自定义类型列表


表单序列化

名称
备注

json接收请求参数

请求地址: 详见jquery.jsp文件

	// json数据传输
	@RequestMapping(value = "/requestBody", method = RequestMethod.POST)
	public ModelAndView requestBody(@RequestBody ComplexParam complexParam) {
		// 数据域
		ModelAndView mv = new ModelAndView();
		mv.addObject(complexParam);
		mv.setView(new MappingJackson2JsonView());
		return mv;
	}

Array数据接收请求参数

请求地址: 详见jquery.jsp文件

	// list Array数据传输
	@RequestMapping(value = "/listArray", method = RequestMethod.POST)
	public ModelAndView listArray(@RequestBody List array) {
		// 数据域
		ModelAndView mv = new ModelAndView();
		mv.addObject(array);
		mv.setView(new MappingJackson2JsonView());
		return mv;
	}
	// list Array数据传输(自定义类型)
	@RequestMapping(value = "/listCust", method = RequestMethod.POST)
	public ModelAndView listCust(@RequestBody List array) {
		// 数据域
		ModelAndView mv = new ModelAndView();
		mv.addObject(array);
		mv.setView(new MappingJackson2JsonView());
		return mv;
	}

接收请求参数序列化 serialize

请求地址: 详见jquery.jsp文件

	// $("#form").serialize() 显示给出?name=baidu¬e=mmp
	@RequestMapping(value = "/serialize", method = RequestMethod.GET)
	public ModelAndView serialize(BeanParam beanParm) {
		// 数据域
		ModelAndView mv = new ModelAndView();
		mv.addObject(beanParm);
		mv.setView(new MappingJackson2JsonView());
		return mv;
	}

你可能感兴趣的:(springmvc)