Возможно ли иметь функцию 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" />
Другие вопросы по тегам