この問題は些細なことのように思えますが、正しく動作させることができません。jquery ajax を使用して Spring コントローラー マッピングを呼び出しています。someAttr の値は、URL の値に関係なく常に空の文字列です。原因の特定を手伝ってください。
-URLが呼び出されました
http://localhost:8080/sitename/controllerLevelMapping/1?someAttr=6
-コントローラーマッピング
@RequestMapping(value={"/{someID}"}, method=RequestMethod.GET)
public @ResponseBody int getAttr(@PathVariable(value="someID") final String id,
@ModelAttribute(value="someAttr") String someAttr) {
//I hit some code here but the value for the ModelAttribute 'someAttr' is empty string. The value for id is correctly set to "1".
}
ベストアンサー1
@RequestParam
の代わりにを使用する必要があります@ModelAttribute
。例:
@RequestMapping("/{someID}")
public @ResponseBody int getAttr(@PathVariable(value="someID") String id,
@RequestParam String someAttr) {
}
完全に省略することもでき@RequestParam
、Spring はそれを省略したものとみなします。
@RequestMapping("/{someID}")
public @ResponseBody int getAttr(@PathVariable(value="someID") String id,
String someAttr) {
}