Возможно ли иметь функцию handleRequest в Spring Controller вместе с аннотациями для параметров?
Я только начал работать с Spring и настроил простой проект Spring в NetBeans. По умолчанию он не использует аннотации.
В одном из моих контроллеров я бы хотел обрабатывать разные клики в форме. Я посмотрел на некоторые решения, и кажется, что добавление проверки параметров может работать:
@RequestMapping(params = "someAction")
public ModelAndView doSomeAction() {
Однако похоже, что все запросы собираются:
public class SetupController implements Controller {
@Override
public org.springframework.web.servlet.ModelAndView handleRequest(
HttpServletRequest hsr, HttpServletResponse hsr1) throws Exception {
Есть ли способ добиться того же эффекта без аннотации RequestMapping?
1 ответ
Похоже, что вы смешали старый стиль (реализует контроллер) с новым стилем, основанным на аннотациях.
Вы не можете (или, по крайней мере, не должны) смешивать их, по крайней мере, не для одного класса.
Если вы используете Spring 3.x, тогда я настоятельно рекомендую использовать стиль на основе аннотаций.
@Controller
@RequestMapping("/whatever")
public class DemoController() {
@RequestMapping(params="x");
public ModelAndView doX() {
}
@RequestMapping(params="y");
public ModelAndView doY() {
}
}
Чтобы включить стиль на основе аннотаций, вам нужны как минимум следующие параметры конфигурации:
<!-- Turns on support for mapping requests to Spring MVC @Controller methods
Also registers default Formatters and Validators for use across all
@Controllers -->
<mvc:annotation-driven conversion-service="applicationConversionService" />