Как получить доступ к переменной, установленной ядром JSTL, на моей странице JSP?

В моем веб-приложении я хочу установить файл cookie по умолчанию для хранения локали «en_US». У меня есть функциональность, позволяющая пользователю успешно изменить это.

Однако я удалил много скриптлетов из своего .jsp и заменил их некоторыми тегами JSTL, чтобы установить значение файла cookie по умолчанию, но, похоже, это не работает. Кажется, я не могу получить доступ к своей переменной ${lang} в объявлении локали. Я что-то пропустил?

Вот мой код:

<c:set var="lang" scope=="session">
   <c:out value="${cookie['locale'].value}" default="en_US"/>
</c:set>

<fmt:setLocale value="${lang}" />
<fmt:bundle basename="com.foo.bar.app">

Изменить

Кажется, у меня все еще есть проблема. Мой вызов setLocale не имеет хорошего значения. Я попробовал простой <c:out value="${lang}"/>, и он выводит ${lang}, а не значение, поэтому я предполагаю, что для моей локали установлено имя переменной, а не значение. Есть идеи?


person thedude19    schedule 19.10.2010    source источник


Ответы (1)


Один = слишком сильно отстает от scope.

person BalusC    schedule 19.10.2010
comment
Ба, не могу поверить, что я пропустил это. Спасибо :) - person thedude19; 19.10.2010
comment
У меня все еще есть проблема. Не могли бы вы проверить правку, которую я сделал? Спасибо. - person thedude19; 19.10.2010
comment
Щелкните правой кнопкой мыши страницу в браузере и проверьте источник. Вы не должны видеть там никаких тегов JSTL. Если вы видите, что теги <fmt> не проанализированы, это означает, что вы не объявили библиотеку тегов fmt поверх JSP. Доступен синтаксис объявления Taglib здесь. - person BalusC; 19.10.2010
comment
Это было действительно неправильное объявление taglib. Спасибо еще раз :) - person thedude19; 19.10.2010