首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GET参数的SpringMVC RequestMapping

GET参数的SpringMVC RequestMapping
EN

Stack Overflow用户
提问于 2012-11-04 04:12:31
回答 5查看 203.7K关注 0票数 70

如何使RequestMapping处理url中的GET参数?例如,我有这个url

代码语言:javascript
复制
http://localhost:8080/userGrid?_search=false&nd=1351972571018&rows=10&page=1&sidx=id&sord=desc

(来自jqGrid)

我的RequestMapping应该是什么样子的?我想使用HttpReqest获取参数

我试过了:

代码语言:javascript
复制
@RequestMapping("/userGrid")
    public @ResponseBody GridModel getUsersForGrid(HttpServletRequest request)

但它不起作用。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-11-04 04:28:06

在方法参数中使用@RequestParam以便spring可以绑定它们,还可以使用@RequestMapping.params数组来缩小Spring将使用的方法的范围。示例代码:

代码语言:javascript
复制
@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检查和相关的工作。

票数 133
EN

Stack Overflow用户

发布于 2012-11-04 04:26:02

您可以像这样添加@RequestMapping

代码语言:javascript
复制
@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) {
票数 32
EN

Stack Overflow用户

发布于 2013-06-10 08:48:55

这将从请求中获取所有参数。仅用于调试目的:

代码语言:javascript
复制
@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;
}
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13213061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档