springmvc中的controller如何实现参数绑定呢?
下文笔者讲述springmvc中controller接收参数值的方法分享,如下所示
springmvc指定绑定类型
HttpServletReequest对象: 通过request对象可以获取参数信息 HttpservletResponse对象: 通过response对象可以处理响应信息 HTTPSession对象: 获取session中存储的对象 Model/ModelMap: Model是一个接口 ModelMap是一个接口的实现 作用是将模型数据填充到request域
controller中定义变量
使用这种方式 需限制参数名和请求的参数名需保持一致 否则无法接收参数例:
Controller : public void controllerTest(Integer id){} url: http://localhost:8080/springMvcTest/controllerTest?id=8888; 此时Controller就能接收到id的值
使用@RequestParam进行参数绑定
使用此种方式,参数名无需和请求中的参数名保持一致例:
Controller : public void controllerTest(@RequestParam(value="id") Integer testId){} @RequestParam(value="id") Integer testId 表示将请求中的id属性绑定到testId这个参数上 url : http://localhost:8080/springtest/controllerTest?id=88888;
注意事项: 1.在@RequestParam 中有一个属性叫做required @RequestParam(required=true):为当前参数必须传入 2.@RequestParam 中有一个属性叫做defaultValue 表示默认值 @RequestParam(defaultValue="默认值")
POJO的绑定
在Controller中可以直接定义POJO类型的参数来接收请求中的数据。 注意事项: 此时页面中input的name属性的值必须和POJO的属性一一对应
@PathVariable获取参数值
例:/** *3、占位符映射 * 语法:@RequestMapping(value=”user/{userId}/{userName}”) * 请求路径:http://localhost:8080/hello/test/1/maomao * @param ids * @param names * @return */ @RequestMapping("test/{id}/{name}") public ModelAndView test5(@PathVariable("id") Long ids ,@PathVariable("name") String names){ ModelAndView mv = new ModelAndView(); mv.addObject("msg","占位符映射:id:"+ids+";name:"+names); mv.setViewName("tttttt"); return mv; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。