Вроде да.
boolean condition = evaluateItSomehow();
request.setAttribute("condition", condition);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
Затем в page.jsp
, используя JSTL c:if
:
<head>
<c:if test="${condition}">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="script.js"></script>
</c:if>
...
</head>
Обновление: , поскольку у вас, кажется, для этого имеется более одного файла, вы можете даже сделать его более гибким, просто установив нужный суффикс имени файла (или префикс, или даже полное имя, что вам нравится ):
String suffix = evaluateItSomehow();
request.setAttribute("suffix", suffix);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);
и
<head>
<link rel="stylesheet" type="text/css" href="style_${suffix}.css">
<script type="text/javascript" src="script_${suffix}.js"></script>
...
</head>
Если вы установите suffix
, например, "foo"
, будет загружено style_foo.css
и script_foo.js
. Я думаю, что это дает достаточно новых идей.