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;
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


