Какую версию Spring MVC вы используете? Если вы используете версию 2.5 или выше, вам, вероятно, стоит взглянуть на аннотации Spring MVC, которые позволяют сделать любой класс контроллером с таким количеством методов контроллера, как вам нужно (которые могут включать в себя те, которые обрабатывают запросы POST - "doSubmit"). "- и некоторые, которые обрабатывают запросы GET).
Отредактировано для добавления образца кода:
(Обратите внимание, что в примерах я пытаюсь использовать соглашения REST, но это не обязательно.)
в UserController.java (который не должен наследоваться от какого-либо класса Spring, но должен иметь @Controller
вверху)
@RequestMapping(value = "/users/{userId}", method = RequestMethod.GET)
public String showUser(@PathVariable("userId") Long userId, ModelMap model) {
model.addAttribute("user", userRepository.getUser(userId));
return "showUser"; //view name
}
@RequestMapping(value = "/users/", method = RequestMethod.POST)
public String createUser(@ModelAttribute("user") User user, BindingResult result, SessionStatus status) {
new UserValidator().validate(user, result);
if (result.hasErrors()) {
return "userForm";
}
else {
userRepository.saveUser(user);
status.setComplete();
return "redirect:/users/" + user.getId();`enter code here`
}