springMVC get请求参数封装
2014-08-12 12:08
99 查看
对于最近我们项目组在用springMVC框架做东东,但是了在Get请求传递参数的时候我就遇到了这样的一个问题,就是如果对于参数少的可以使用注解@RequestParam(value="xxx")来进行绑定,但是对于参数多的怎么办了,而且我还发现一个问题怎样和@valid这个注解结合使用了。
所以我在上班之余研究了一下怎样把get请求的参数封装到实体类中去,于是我自己定义了一个实体类,如下:
jsp页面,页面如下:
然后,我自己写了一个测试的控制层,代码如下:
运行tomcat之后,访问首页点击超链接他直接跳转到commodityController里面,并且把我传递的参数封装成了Commodity对象,但是我把链接里面的参数名字改了一下发现这个实体类是无法接受我传递的参数,说明从客户端发出来的请求之后就会根据请求调用control层的代码,请求我估计根据调用的请求会实例化一个Commodity对象,然后调用Commodity对象的set方法(估计根据“set”+参数名称),然后把参数封装到实体里面,这样做的话就对于传参以及验证非常方便了。
不过以上写的只是我自己边写边想的结果,如有不对请大家立即指出。希望能够与大家共同进步 阅读更多
所以我在上班之余研究了一下怎样把get请求的参数封装到实体类中去,于是我自己定义了一个实体类,如下:
public class Commodity {
private String name;
private Integer brandId;
public Commodity() {
}
public Commodity(String name, Integer brandId) {
this.name = name;
this.brandId = brandId;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the brandId
*/
public Integer getBrandId() {
return brandId;
}
/**
* @param brandId the brandId to set
*/
public void setBrandId(Integer brandId) {
this.brandId = brandId;
}
}
jsp页面,页面如下:
,
<a href="/commodity/search.do?name='猪肉'&brandId=12">商品列表</a>
然后,我自己写了一个测试的控制层,代码如下:
@Controller
@RequestMapping(value="/commodity")
public class CommodityController {
@RequestMapping(value="/search.do")
public String commoditySearch(Commodity commodity, ModelMap modelMap) {
System.out.println(commodity.getName()+":"+commodity.getBrandId());
return "commodity/search";
}
}
运行tomcat之后,访问首页点击超链接他直接跳转到commodityController里面,并且把我传递的参数封装成了Commodity对象,但是我把链接里面的参数名字改了一下发现这个实体类是无法接受我传递的参数,说明从客户端发出来的请求之后就会根据请求调用control层的代码,请求我估计根据调用的请求会实例化一个Commodity对象,然后调用Commodity对象的set方法(估计根据“set”+参数名称),然后把参数封装到实体里面,这样做的话就对于传参以及验证非常方便了。
不过以上写的只是我自己边写边想的结果,如有不对请大家立即指出。希望能够与大家共同进步 阅读更多
相关文章推荐
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- SpringMVC的 get,post参数请求及重定向
- okhttp自定义拦截器,封装公共参数,get或post请求不同的拦截器
- Retrofit简单封装使用--Post请求封装请求体、Get请求通过参数、map方式构建url
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
- HttpURLConnection 对 get和post请求的封装(包括带参数和不带参数)
- springmvc中一个Action中,写多个类似的业务控制方法+在业务控制方法中写入普通变量收集参数+限定某个业务控制方法。只允许GET或POST请求方式访问
- AngularJs中$http发送post或者get请求,SpringMVC后台接收不到参数值的解决办法
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数
- 使用getParameterMap()方法实现对请求参数的封装的工具类
- SpringMVC中使用Ajax POST请求以json格式传递参数服务端通过request.getParameter("name")无法获取参数值问题分析
- AngularJs中$http发送post或者get请求,SpringMVC后台接收不到参数值的解决办法
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- 使用SpringMVC参数传递时,解决get请求时中文乱码的问题
- 自定义的拦截器,封装公共参数 get请求
- springmvc get请求参数乱码解决方法
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数
- 解决 AngularJs $http 发送post,get请求,SpringMvc无法接受参数的问题。
- SpringMVC Controller接收前台ajax的GET或POST请求返回各种参数