Можно ли использовать EL внутри директив страницы? - PullRequest
1 голос
/ 13 ноября 2009

У меня есть некоторый статический html контент (включенный в динамически генерируемую страницу), который я хочу локализовать, т.е. help-en.html, help-fr.html и так далее. В файле JSP, куда он должен быть включен, у меня есть bean userLocale, представляющий собой строку, содержащую «en», «fr» и т. Д.

Таким образом, разумным способом ссылки на локализованный файл будет:

help-${userLocale}.html

И разумный способ включить его в JSP:

<%@include file="help-${userLocale}.html" %>

Однако это не работает, так как компилятор JSP жалуется, что не может подать файл с буквальным названием «help - $ {userLocale} .html». Таким образом, кажется, что директивы страницы обрабатываются перед кодом EL, и поэтому невозможно использовать EL внутри директив страницы.

Правильно ли это, есть ли обходные пути и / или есть ли такие же простые способы для достижения цели, описанной выше, не прибегая к множественному выбору / когда теги или что-то еще?

1 Ответ

2 голосов
/ 13 ноября 2009

Используйте jsp:include вместо. @include - время компиляции, а не время выполнения.

например:.

<jsp:include page="help-${userLocale}.html" />
...