2010-03-25 6 views

ответ

343

@RequestMapping имеет параметр в String[] значение, так что вы должны быть в состоянии указать несколько значений, например:

@RequestMapping(value={"", "/", "welcome"})

+1

Тем не менее, у меня возникают проблемы с получением значений «» или «/», которые действительно работают в моем приложении. Они работают на вас? –

+0

Есть ли способ связать различные представления успеха и формы с каждым URL-адресом запроса, используя несколько аннотаций? –

+0

@EdBrannin Мне нужно много использовать, custom, header, consumes, params и т. Д. – deFreitas

12

Не нужно. Аннотирование RequestMapping поддерживает шаблоны подстановочных знаков и ant-style. Также похоже, что вам просто нужен вид по умолчанию, поэтому вы можете поставить

<mvc:view-controller path="/" view-name="welcome"/> 

в вашем файле конфигурации. Это отправит все запросы Root на приветственный вид.

+0

Должно ли быть что-то между этими двумя линиями? Я использую FreeMarkerViewResolver - так что мне придется идти этим путем ... Ну, я думаю, я мог бы просто создать несколько ViewResolver. – wuntee

+2

Это не обеспечивает гибкость, которую могут предоставить несколько аннотаций RequestMapping. Например, если я хочу, чтобы один метод поддерживал либо значение «/ a» с POST, либо значение «/ b» с GET. Конечно, обходной путь довольно прост (рефакторинг функциональности в третьем методе), но просто сказать, что это было бы полезно. – simon

19

Из моего теста (весна 3.0.5), @RequestMapping(value={"", "/"}) - только "/" работы, "" делает не. Однако я выяснил, что это работает: @RequestMapping(value={"/", " * "}), " * " соответствует чему угодно, поэтому он будет обработчиком по умолчанию, если нет других.