1
@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, 
        HttpServletRequest request, HttpServletRequest response){               
    Map<String,String> yesMap = new HashMap<String,String>();
}

如上面的代码所示,我需要获取从 {responseType} 传递的参数的数据类型,并在 yesMap 中针对参数值设置相同的数据类型。

String param=request.getParameter("id");

正在返回空值。

4

2 回答 2

0

在您上面发布的代码中,follwign 调用

yourRootUrl/cheese/stilton

将导致这些在您的“执行”方法中为真:

methodName.equals("cheese");
responseType.equals("stilton");

我不明白你想要达到什么目的。您的参数名称令人困惑。

它非常简单,您已经声明了两个字符串参数,这要归功于 spring 可以是路径变量。

这是一个 GET 请求,因此 getParamter 不起作用,请尝试使用String param=request.getAttribute("id");与您的路径变量完全无关的。或者不同的 Ananotion RequestParam像这样:

@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, @RequestParam int id) 
于 2012-09-05T10:54:31.353 回答
0

需要获取从 {responseType} 传递的参数的数据类型

它的类型将始终String与您收集它时的responseType类型相同String

get data types of parameters passed from {responseType} and set the same in yesMap against parameter values

我认为yesMap.put("String",responseType); 会的。

于 2012-09-05T11:44:10.163 回答