2012-12-08 111 views
0

我正在使用MVC模型,在這個模型中,我正在爲不同的應用程序編寫太多基於web的小部件,這會導致大量的重複性工作來解決問題我打算爲這個問題編寫新的包每個小部件的jsp標籤(使用tld)和生成的jar我將包含在使用這些小部件的許多應用程序中,並且我也成功地實現了這一點。編寫jsp標籤庫

但是在這裏,我有點關心小部件使用的css和javascript。

讓我說jss在csp中自己寫css標籤本身就是在這種情況下,它每次都會抓取css和腳本,這會導致額外的延遲,如果我在客戶端編寫通用css然後使用我的多個應用程序小部件包需要一次又一次寫入css?

我包含在我的MVC項目中的小部件的jar。

jar -tvf AcmeUIUtils-1.0.jar 
    0 Fri Dec 07 07:41:56 IST 2012 META-INF/ 
    106 Fri Dec 07 07:41:54 IST 2012 META-INF/MANIFEST.MF 
    0 Fri Dec 07 15:54:40 IST 2012 com/ 
    0 Fri Dec 07 15:54:40 IST 2012 com/amazon/ 
    0 Fri Dec 07 15:54:40 IST 2012 com/amazon/spotui/ 
    0 Fri Dec 07 15:54:40 IST 2012 com/amazon/spotui/basicui/ 
    2339 Fri Dec 07 02:11:38 IST 2012 com/amazon/spotui/basicui/AcmeMessage.class 
    1684 Fri Dec 07 15:54:40 IST 2012 com/amazon/spotui/basicui/Ping.class 
    0 Fri Dec 07 15:54:40 IST 2012 com/amazon/spotui/utils/ 
    2989 Fri Dec 07 15:54:40 IST 2012 com/amazon/spotui/utils/AcmeTags.class 
    0 Fri Dec 07 07:41:40 IST 2012 META-INF/css/ 
    635 Fri Dec 07 07:40:14 IST 2012 META-INF/css/error.css 
    1059 Fri Dec 07 14:47:20 IST 2012 META-INF/spot-ui-component.tld 
    0 Fri Dec 07 15:54:40 IST 2012 test-resources/ 

現在我的問題是,如何在我的應用程序以優雅的方式加載error.css?還是我需要在小部件級別進行更改?

我不介意這個問題的任何開源解決方案。但我只需要jsp標籤。

回答

2

由於servlet 3.0,放置在WEB-INF/lib下的jar文件可以包含將由webapp直接提供的資源。這些資源必須放在jar文件的META-INF/resources目錄下。

所以,如果你的標籤庫的jar包含文件META-INF/resources/js/MyTaglib.js,該文件將使用URL

http://the.host.com/theWebApp/js/MyTaglib.js 

如果你靶向servlet3.0前的webapps是直接可用,然後告訴開發人員部署你的taglib的CSS和JS文件在webapp的特定目錄下。

+0

其實我打算爲應用程序寫一個不同的jar,在這種情況下是否有可能以優雅的方式獲得css。 –

+0

我不明白你在問什麼。更明確。 –

+0

我想爲jsp標籤widgt創建一個包含js和css的jar。我想以優雅的方式將這些js和css添加到我的應用程序中。 –