Вы можете получить большую гибкость, добавив параметр @RequestParam Map<String, String> all
, например.
@RequestMapping(@RequestParam Map<String, String> all, method = RequestMethod.GET)
таким образом все ваши параметры будут привязаны к карте all
, где ключ будет название вашего параметра и значения будет значением паров
В качестве альтернативы, вы можете добавить бэк-бланк формы, особенно если у вас уже есть modelAttribute=edit
например
@RequestMapping(FormBean edit, method = RequestMethod.GET)
В вашей FormBean
вы можете перечислить все возможные имена параметров, как свойства, и они будут получать должным образом связаны, например,
public class FormBean {
private String param1;
public String getParam1() {
return param1;
}
public void setParam1(String param1) {
this.param1 = param1;
}
}
Update после комментария
вы также можете перечислить все возможные параметры, и помечать их как required=false
, например,
@RequestMapping(@RequestParam(required = false, value = "param1") String param, @RequestParam(required = false, value = "param2") String param,method = RequestMethod.GET)
Примечание одна вещь, сервер всегда будет использовать существование &
полукокса в строке запроса в качестве параметра разделителя, поэтому вы не можете иметь его в качестве имени параметра
это может быть из какая-то помощь вам http://stackoverflow.com/questions/13213061/springmvc-requestmapping-for-get-parameters – Vihar