如何使RequestMapping处理url中的GET参数?例如,我有这个url
http://localhost:8080/userGrid?_search=false&nd=1351972571018&rows=10&page=1&sidx=id&sord=desc
(来自jqGrid)
我的RequestMapping应该是什么样子的?我想使用HttpReqest获取参数
我试过了:
@RequestMapping("/userGrid")
public @ResponseBody GridModel getUsersForGrid(HttpServletRequest request)
但它不起作用。
发布于 2012-11-04 04:28:06
在方法参数中使用@RequestParam以便spring可以绑定它们,还可以使用@RequestMapping.params数组来缩小Spring将使用的方法的范围。示例代码:
@RequestMapping("/userGrid",
params = {"_search", "nd", "rows", "page", "sidx", "sort"})
public @ResponseBody GridModel getUsersForGrid(
@RequestParam(value = "_search") String search,
@RequestParam(value = "nd") int nd,
@RequestParam(value = "rows") int rows,
@RequestParam(value = "page") int page,
@RequestParam(value = "sidx") int sidx,
@RequestParam(value = "sort") Sort sort) {
// Stuff here
}
这样,Spring只会在所有参数都存在的情况下执行此方法,从而省去了null检查和相关的工作。
发布于 2012-11-04 04:26:02
您可以像这样添加@RequestMapping
:
@RequestMapping("/userGrid")
public @ResponseBody GridModel getUsersForGrid(
@RequestParam("_search") String search,
@RequestParam String nd,
@RequestParam int rows,
@RequestParam int page,
@RequestParam String sidx)
@RequestParam String sord) {
发布于 2013-06-10 08:48:55
这将从请求中获取所有参数。仅用于调试目的:
@RequestMapping (value = "/promote", method = {RequestMethod.POST, RequestMethod.GET})
public ModelAndView renderPromotePage (HttpServletRequest request) {
Map<String, String[]> parameters = request.getParameterMap();
for(String key : parameters.keySet()) {
System.out.println(key);
String[] vals = parameters.get(key);
for(String val : vals)
System.out.println(" -> " + val);
}
ModelAndView mv = new ModelAndView();
mv.setViewName("test");
return mv;
}
https://stackoverflow.com/questions/13213061
复制相似问题