Как включить файл в зависимости от атрибута запроса с помощью директивы include
Вопрос
Я хотел бы включить файл в зависимости от значения атрибута запроса.
${theme} -> themeA
Подводить итоги.Я хотел бы что-то вроде этого:
<%@ include file="../themes/${theme}/jsp/content/welcome.jsp"%>
Есть ли простой обходной путь?
Решение
Не с <%@ include%>, поскольку это статическое включение/время компиляции.Вместо этого вы можете использовать тег <jsp:include>, который оценивается во время выполнения и включает результат выполнения этой страницы, а не включения самой страницы во время компиляции.
Чтобы сравнить все различия между директивой include и <jsp:include>, посмотрите Справочник JSP2.0
<jsp:include page="../themes/${theme}/jsp/content/welcome.jsp">
Тег <c:import> также будет работать, если вы используете JSTL.
Другие советы
<c:import url="../themes/${theme}/jsp/content/welcome.jsp"/>
Не связан с StackOverflow