@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");
返回空值。
答案 0 :(得分:0)
在您上面发布的代码中,跟随电话
yourRootUrl/cheese/stilton
将导致这些在“执行”方法中成立:
methodName.equals("cheese");
responseType.equals("stilton");
我不明白你想要实现的目标。您的参数名称令人困惑。
它很简单,你已经声明了两个字符串参数,这要归功于spring可以是路径变量。
这是一个GET请求,因此getParamter不起作用,请尝试使用与您的路径变量完全无关的String param=request.getAttribute("id");
。或者像这样的差异动画RequestParam:
@RequestMapping(value = "/{methodName}/{responseType}", method = RequestMethod.GET)
public ModelAndView execute(@PathVariable String methodName, @PathVariable String responseType, @RequestParam int id)
答案 1 :(得分: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);
会这样做。