在CSS代码中使用Java变量

时间:2014-04-19 15:00:18

标签: html css java-ee sass

如何在CSS文件中使用Java变量(例如在Eclipse Java EE项目中)。

我的意思是,当我们在JSP文件的HTML代码中使用Java代码(&lt;%... Java代码 ...%&gt; )时,可以我们在CSS文件中使用Java代码(不在JSP文件中,<style>...</style> - 而不是内部插入(CSS How To...)。

所以,我想创建单独的样式(CSS)文件和JSP文件(导入我的样式(CSS)文件)。

我怎样才能做到这一点,这是合乎逻辑且最好的方式?


我正在使用HttpServlet类文件并使用PrintWriter.print(...)在那里写入内部CSS代码,但它是String + String + String + ...

但是,CSS样式中有宽度和高度的必要使用变量。例如,我有这样的代码:

HTML code:

...
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和其他一些...... **


使用String + String + ...在HttpServlet(或JSP)中编写大量HTML和CSS代码对我来说不是问题,但它的代码输入,突出显示等问题...而且它也不合逻辑正确的方式...

  1. 任何人都可以为我的项目提出一些简单的方法(问题:D)。
  2. 另外,如果你帮助我使用CSS,你能帮我解决javascript(同样的问题 - 打字)。

  3. 谢谢大家......

1 个答案:

答案 0 :(得分:0)

CSS不一定必须来自.css文件,可以使用任何具有可接受MIME类型的响应。因此,不知道您的用例来评估它是否是一个好主意,没有什么能阻止您使用JSP作为CSS包含。

如果你只是用它来引入这些变量,那么SASS / LESS可能会比它更值得痛苦,因为你必须设置它要动态渲染,你必须弄清楚如何以高效的方式为每个渲染发送变量。

除非您以这种方式添加大量CSS,否则在HTML中打印CSS块可能是阻力最小的路径。只使用Java作为变量值而不是整个事物,你可以使它更具可读性,因为在<% myPrintWritter.print(".outterBox { width: "+outterBoxWidth+"px; }" %>变为.outterBox { width: <%=outterBoxWidth;%>px; }