У меня есть контроллер, который имеет несколько действий, которые запускаются при нажатии различных кнопок на странице.Я хотел бы иметь действие по умолчанию, но не уверен, как аннотировать метод.Вот пример:
@Controller
@RequestMapping("/view.jsp")
public class ExampleController {
@RequestMapping(method = RequestMethod.GET)
public ModelAndView displayResults() {
ModelAndView mav = new ModelAndView("view");
mav.addObject("queryResults", methodToQueryDBForListing());
return mav;
}
@RequestMapping(method = RequestMethod.POST, params="submit=Action 1")
public ModelAndView action1(@RequestParam("selectedItemKey") String key) {
ModelAndView mav = new ModelAndView("action1");
//Business logic
return mav;
}
@RequestMapping(method = RequestMethod.POST, params="submit=Action 2")
public ModelAndView action2(@RequestParam("selectedItemKey") String key) {
ModelAndView mav = new ModelAndView("action2");
//Business logic
return mav;
}
//A few more methods which basically do what action1 and action2 do
}
Как я могу аннотировать метод, который будет действовать на POST при любой нажатой кнопке подтверждения, когда клавиша не выбрана?
Я пробовал:
@RequestMethod(method = RequestMethod.POST, params="!selectedItemKey")
@RequestMethod(method = RequestMethod.POST)
Я бы действительно ненавидел это, если бы мне пришлось устанавливать required = false для каждого из методов, которые принимают RequestParams, а затем условно проверять, входит ли он или нет ... Есть ли способ аннотировать этоработать правильно?