@RequestAttribute
无法获取值。
我使用 @ModelAttribute 。此处foo
属性的值设置为bar
@ModelAttribute
void beforeInvokingHandlerMethod(HttpServletRequest request)
{
request.setAttribute("foo", "bar");
}
我尝试使用foo
调用@RequestAttribute("foo")
的请求属性值。但是价值是空的。
然后我尝试使用request.getAttribute("foo")
并打印该值。我不知道下面的代码有什么问题:
@RequestAttribute("foo").
@RequestMapping(value="/data/custom", method=RequestMethod.GET)
public @ResponseBody String custom(@RequestAttribute("foo") String foo, HttpServletRequest request) {
System.out.println("foo value : " + foo); //null printed
System.out.println("request.getAttribute : " + request.getAttribute("foo")); //value printed
return foo;
}
答案 0 :(得分:1)
@RequestAttribute不是Spring注释。如果你想传递一个值,你可以做一个请求参数
@RequestMapping(value="/data/custom", method=RequestMethod.GET)
public @ResponseBody String custom(@RequestParam("foo") String foo) {
System.out.println("foo value : " + foo); //null printed
return foo;
}
或者,如果您想在路径中传递值
@RequestMapping(value="/data/custom/{foo}", method=RequestMethod.GET)
public @ResponseBody String custom(@PathVariable("foo") String foo) {
System.out.println("foo value : " + foo); //null printed
return foo;
}