SpringMVC(参数绑定、Model/ModelMap、绑定pojo)

参数绑定

默认支持的参数类型
基于完成需求:点击修改商品时,打开商品编辑页面,展示商品信息

/**
	 * 演示springmvc默认参数的传递
	 * 跳转修改商品信息页面
	 * @return
	 */
	@RequestMapping("itemEdit")
	public ModelAndView itemEdit(HttpServletRequest request,HttpServletResponse response,HttpSession session){
		ModelAndView mav = new ModelAndView();
		
		//request获取参数
		String id = request.getParameter("id");
		System.out.println("id为:" + id);
		//其它对象输出
		System.out.println("response对象:" + response);
		System.out.println("session对象:" + session);
		
		//查询商品信息
		Item item = itemServices.getItemById(new Integer(id));
		//设置商品数据返回页面
		mav.addObject("item", item);
		//设置视图名称
		mav.setViewName("itemEdit");
		return mav;
	}
绑定简单参数
/**
	 * 演示简单参数传递
	 * 跳转修改商品信息页面
	 * @RequestParam用法:入参名字与方法名参数名不一致时使用{
	 * 	value:传入的参数名,required:是否必填,defaultValue:默认值
	 * }
	 * 
	 */
	@RequestMapping("itemEdit")
	public ModelAndView itemEdit(@RequestParam(value="id",required=true,defaultValue="1")Integer ids){
		ModelAndView mav = new ModelAndView();
		
		//查询商品信息
		Item item = itemServices.getItemById(ids);
		//设置商品数据返回页面
		mav.addObject("item", item);
		//设置视图名称
		mav.setViewName("itemEdit");
		return mav;
	}

Model/ModelMap
/**
	 * 演示返回String,通过Model/ModelMap返回数据模型
	 * 跳转修改商品信息页面
	 * @param id
	 * @return
	 */
	@RequestMapping("itemEdit")
	public String itemEdit(@RequestParam("id")Integer ids,Model m,ModelMap model){
		
		//查询商品信息
		Item item = itemServices.getItemById(ids);
		//通过Model把商品数据返回页面
		model.addAttribute("item", item);
		//返回String视图名字
		return "itemEdit";
	}
绑定pojo对象

要点:表单提交的name属性必需与pojo的属性名称一致。

/**
	 * 演示传递pojo参数
	 * 更新商品信息
	 * @return
	 */
	@RequestMapping("updateItem")
	public String updateItem(Item item,Model model){
		//更新商品
		itemServices.update(item);
		//返回商品模型
		model.addAttribute("item", item);
		//返回担任提示
		model.addAttribute("msg", "修改商品成功");
		//返回修改商品页面
		return "itemEdit";
	}

绑定包装的pojo

要点:通过点(.)传递属性。
pojo:

public class QueryVo{
	private Item item;
	
	public Item getItem(){
		return item;
	}
	public void setItem(Item item){
		this.item = item;
	}
}

controller代码:

/**
	 * 演示包装pojo传递
	 * @param vo
	 * @return
	 */
	@RequestMapping("queryItem")
	public String queryItem(QueryVo vo){
		//打印传入参数
		System.out.println(vo);
		//返回视图
		return "itemList";
	}

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/89931496