Я ищу способ создания сложных сопоставлений URL-адресов, которые будут зависеть от содержимого базы данных. Например, я показать два URL отображения:Spring MVC: расширенное отображение на основе аннотации
/{category}/
/{category}/{slug}/{id}
Категории могут быть, например:
apples, pears, lemons -> resolve to FruitListController,
beans, onions, potatoes -> resolve to VegetableListController.
- Обратите внимание, что эти категории сохраняются в базе данных и могут быть изменены.
Если у меня есть еще и slug и id, то оба они должны быть проверены на базе базы данных, если они существуют.
Могу ли я каким-то образом написать «Обработчик категории», который вернет соответствующую категорию и связанный с ней контроллер?
Очевидно, это проблема перевода URL -> Request. Кроме того, есть ли способ генерировать обратное Запрос -> URL аналогичным образом? Я хотел бы что-то вроде шаблонов:
<c:foreach="apples as apple"
<a href="${link AppleController:defaultView, ID = apple.id}">${apple.name}</a>
</c:foreach>
Спасибо за решение, хотя я не уверен, как блог сообщение связано с моей проблемой. Возможно ли таким образом определить необязательные аргументы? Я также думаю о создании URL-адреса для данного элемента управления: view - предоставляет ли он некоторые инструменты для их создания? –
Я не уверен, что вы имеете в виду о «генерации URL». Что касается дополнительных аргументов, если они являются RequestParams, они могут быть необязательными. Сообщение в блоге показывает только пример используемого ArgumentResolver. Если решение хорошее, пожалуйста, примите ответ (галочка). – aweigold