2014-04-19 46 views
0

如何在CSS文件中使用Java變量(例如在Eclipse Java EE項目中)。在CSS代碼中使用Java變量

我的意思是,當我們用在JSP文件中的HTML代碼的Java代碼(<%......這裏Java代碼...%>),我們可以使用Java代碼在CSS文件(不是JSP文件,在<style>...</style>-沒有內部插入(CSS How To...)。

所以,我想創建一個單獨的風格(CSS)文件和JSP文件(其中進口我風格(CSS)文件)。

我該怎麼做,哪個是合乎邏輯和最好的方法?


我使用HttpServlet類文件和書面方式有使用PrintWriter.print(...)內部CSS代碼,但它是字符串+字符串+字符串+ ...

但是,有寬度和高度neccesary使用變量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)使用字符串+字符串+ ...不是問題對我來說,但其編碼打字的問題,突出等......其也沒有邏輯的和正確的方式...

  1. 誰能指點我一些簡單的方法爲我的項目(問題:D)。
  2. 此外,如果你在CSS中幫助我,你是否也可以在JavaScript中幫助我(同樣的問題 - 打字)。

謝謝大家......

回答

0

CSS並不一定必須來自.css文件,可以使用一個可接受的MIME類型的任何迴應。所以,不知道你的用例來評估它是否是一個好主意,沒有什麼能夠阻止你將JSP用作CSS包含。

如果你只是用它來引入這些變量,那麼SASS/LESS可能會比它在這裏的價值更加痛苦,因爲你必須設置它來動態渲染,並且你必須弄清楚如何以高效的方式發送每個渲染的變量。

除非以這種方式添加大量的CSS,否則在HTML中打印CSS塊可能是阻力最小的路徑。您可以通過僅將Java用於變量值而不是整個東西來使其更易於閱讀,如<% myPrintWritter.print(".outterBox { width: "+outterBoxWidth+"px; }" %>變爲.outterBox { width: <%=outterBoxWidth;%>px; }