Я хочу сделать сопоставления запросов в моем приложении приложения Spring. Так что мой URL не может быть понятным. И я могу показать что-то бессмысленное для пользователя, и цель сохранения карты будет решена.Использование аннотации @Value со статической конечной переменной в Spring Framework
Для этого я сохраняю динамическую часть URL-адреса в файле свойств. И хотите использовать это в аннотации @RequestMapping
. И то же самое будет сделано на стороне клиента в JSP. Я прочитаю значение из файла свойств и создам href.
Я использую аннотацию @Value
, чтобы прочитать значения файла свойств.
Существует один класс, который содержит все такие значения в конечных статических переменных.
public class UrlMappingAbstraction {
public static final @Value("#{urlAbstractionProperties['url.message']?:'message'}") String MESSAGE = "";
}
И я простирающийся этот класс в моем контроллере и с помощью статического окончательного поля в @RequestMapping аннотацию, как показано ниже.
@RequestMapping(value="/"+MESSAGE+"/{id}", method=RequestMethod.GET)
А также JSP Читаю значение из файла свойств с помощью <spring:message/>
и генерирующий URL в HREF.
Проблема заключается в том, что jsp может создать правильный URL-адрес на основе значения файла свойств, но в аннотации @RequestMapping мое значение не заменяется.
Может ли кто-нибудь сказать мне точную проблему? Я знаю, что мы не можем изменить значение статической конечной переменной после ее инициализации. Тогда зачем использовать аннотацию @Value.
Если это можно сделать другим способом, то вы также можете показать мне это.
Заранее спасибо.
Второй вариант выглядит более перспективным для меня, поскольку это будет более сложным. :-D Я не хочу идти с первым вариантом, потому что я уже понял это, прежде чем задавать этот вопрос. И я обнаружил, что для моего уже перегруженного проекта потребуется дополнительная конфигурация плюс накладные расходы дополнительной зависимости. Спасибо за помощь. Как только я вернусь в свой офис, я проверю это и вернусь к вам. :) –