2012-02-24 172 views
0

我正在開發一個Java Web應用程序與Spring MVC,我在這裏有一個小問題。文件路徑路徑

我送.css文件到W3C驗證碼,這部分工作得很好(驗證部分),但要做到這一點,我需要在我的項目中.css文件的路徑,所以我可以創建文件對象,將其發送給W3C。

我不知道如何(在我的邏輯中)寫入到css文件的路徑。我不想使用絕對路徑,所以我可以將我的應用程序移動到任何服務器而沒有任何問題。

在部署項目之後,WAR將它移動到servlet,並且項目文件夾的結構與WAR不一樣!

我不知道如何告訴我的邏輯在哪裏可以找到.css文件!

+1

所以CSS文件不是你的項目(WAR文件)的一部分?也許你可以提供一個小例子,我不知道你的問題是關於什麼的(也許這只是我)? – home 2012-02-24 18:15:26

+0

他們在戰爭文件!但我不知道我必須給我的邏輯什麼路徑! String fileCSSPath =「../resources/css/」... < - 這就是我想要的!如何在.war中編寫css文件的路徑! – BrunoX 2012-02-24 19:05:51

回答

0

好吧我想出瞭如何做到這一點!這裏它的如何

String me = this.getClass().getName().replace(".", "/")+".class"; 
    me = this.getClass().getClassLoader().getResource(me).getPath(); 
    String[] route = me.split("WEB-INF"); 
    String servletUri = route[0]; 
    fileNameCSS = servletUri+"resources/css/"+file; 

所以我在這裏做什麼?首先我得到類的名稱,然後使用我的類的getResource並請求它的路徑!讓它給我在服務器的洞項目的路徑(/ home/bterra/OneX/WEB-INF/etc等)!

現在我有信息通緝!我的項目在服務器上的路線!然後,我只是在「WEB-INF」中拆分字符串以獲取服務器路徑,以便稍後將concance文件夾的名稱和我想要驗證的css的名稱相關聯!

我確定這不是最好的方式來做到這一點......但它適用於我!如果你們知道更好的方法或正確的方法來做到這一點... PLX讓我知道!

謝謝大家!