@RequestAttribute
Spring MVC プロジェクトでは値をフェッチしません。
@ModelAttributeを使用します。ここでfoo
属性は次の値に設定されますbar
@ModelAttribute
void beforeInvokingHandlerMethod(HttpServletRequest request)
{
request.setAttribute("foo", "bar");
}
foo
を使用するための request 属性値を呼び出そうとします@RequestAttribute("foo")
。しかし、値は null です。
次に、使用してみる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;
}