Не в состоянии прочитать значение свойства в JSP - PullRequest
1 голос
/ 20 апреля 2011

Я запускаю Java-приложение на Java 6 и Spring 3.0.

У меня есть файл свойств, используемый веб-приложением и загружаемый средой Spring при запуске сервера.

config.properties

url=http://www.url.com
test.url=http://www.test.com
dev.url=http://www.dev.com

У меня есть требование использовать значения свойств в коде java и jsp. Я могу получить доступ к значению в Java, используя аннотации весной 3.0: @Value("${test.url}")

Чтобы использовать свойства в JSP, я пытаюсь загрузить свойства в контекст сервлета, чтобы на свойства можно было напрямую ссылаться в JSP

servletContext.setAttribute("props", properties);

В моем JSP, когда я печатаю ${props}, это приводит к следующему ...

{url=http://www.url.com,test.url=http://www.test.com,dev.url=http://www.dev.com}

Но когда я печатаю ${props.test.url}, он ничего не печатает (то же самое отлично работает для ${props.url}).

Это проблема или я делаю что-то не так? Как я могу получить ${props.test.url} работу в JSP?

1 Ответ

6 голосов
/ 20 апреля 2011

Ваш синтаксис EL не совсем правильный. Попробуйте это:

${props['test.url']}

Синтаксис ${props.url} работает из-за удобного синтаксиса для обращения к содержимому карты, как если бы это было свойство javabean, но он не работает, когда сам ключ карты содержит ., в этом случае вы следует использовать полный синтаксис поиска по карте, показанный выше.

...