Ten problem wydaje się trywialny, ale nie mogę sprawić, by działał poprawnie. Wywołuję mapowanie kontrolera Springa za pomocą jquery ajax. Wartość someAttr jest zawsze pustym ciągiem, niezależnie od wartości w adresie URL. Proszę, pomóż mi określić, dlaczego.
-URL wywołany
http://localhost:8080/sitename/controllerLevelMapping/1?someAttr=6
-Controller Mapping
@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".
}
spring-mvc
koder
źródło
źródło
@RequestParam
, oto jest: docs.spring.io/spring/docs/current/javadoc-api/org/…Masz wiele wariantów wykorzystania
@RequestParam
z dodatkowymi opcjonalnymi elementami, np@RequestParam(required = false, defaultValue = "someValue", value="someAttr") String someAttr
Jeśli nie wstawisz
required = false
- parametr będzie domyślnie wymagany.defaultValue = "someValue"
- wartość domyślna, która ma być używana jako rezerwowa, gdy parametr żądania nie został podany lub ma wartość pustą.Jeśli parametr żądania i metody są takie same - nie potrzebujesz
value = "someAttr"
źródło