Как использовать переменные Java в файле CSS (например, в проектах Eclipse Java EE).
Я имею в виду, когда мы используем коды Java (<%... Java code here...%>) в кодах HTML в JSP файле, можем ли мы использовать код Java в файле CSS (не в JSP файле, в <style>...</style>
- не внутренняя вставка (CSS How To...)).
Итак, я хочу создать отдельный файл стиля (CSS) и JSP файл (который импортирует мой файл стиля (CSS)).
Как я могу это сделать, а что логично и наилучшим образом?
Я использовал файл класса HttpServlet и писал там внутренний код CSS, используя PrintWriter.print(...)
, но это String + String + String +...
Но в CSS-стиле были необязательные переменные для ширины и высоты. Например, у меня был код вроде этого:
Код HTML:
...
myPrintWritter.print
(
"<div class=\"outterBox\">\n" +
"<div class=\"innerBox\">Small Box 1</div>\n" +
"<div class=\"innerBox\">Small Box 2</div>\n" +
"</div>\n"
);
...
Код CSS:
int space = 5;
int innerBoxWidth = 50;
int outterBoxWidth = (innerBoxWidth + space + innerBoxWidth);
myPrintWritter.print("<style type=\"text/css\">\n");
...
myPrintWritter.print
(
".outterBox\n" +
"{\n" +
"width: " + outterBoxWidth + "px;\n" +
"}\n" +
"\n" +
".innerBox\n" +
"{\n" +
"width: " + innerBoxWidth + "px;\n" +
"}\n" +
);
...
myPrintWritter.print("</style>\n");
Все эти коды были в одном файле класса HttpServlet. Теперь я хочу их разделить (в JSP, CSS,.. файлах).
Я обнаружил, что могу использовать переменные CSS, точнее, использовать SASS и LESS, а также возможности... Теперь я могу создавать файлы CSS и SCSS и писать коды стилей.
Но было бы лучше использовать только коды JAVA and CSS
а не SASS and LESS
а некоторые другие... **
Написание большого количества кодов HTML и CSS в HttpServlet (или в JSP) с использованием String + String +... для меня не проблема, а его проблема для ввода, выделения и других..., а также не логичного и правильного пути...
Всем спасибо...
CSS не обязательно должен поступать из файла.css, можно использовать любой ответ с приемлемым типом MIME. Таким образом, не зная ваш случай использования, чтобы оценить, хорошо ли это, нет ничего, что помешает вам использовать JSP в качестве CSS.
SASS/LESS, вероятно, будет больнее, чем это стоит здесь, если вы используете его только для ввода этих переменных, потому что вам придется настроить его на лету, и у вас будет чтобы выяснить, как передавать переменные для каждого рендеринга по-своему.
Если вы не добавляете много CSS таким образом, печать блока CSS в HTML, как у вас есть, вероятно, является способом наименьшего сопротивления. Вы можете сделать его более читаемым, используя только Java для значений переменных, а не всего, как в <% myPrintWritter.print(".outterBox { width: "+outterBoxWidth+"px; }" %>
становится .outterBox { width: <%=outterBoxWidth;%>px; }