2012-12-08 62 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添加到我的应用程序中。 –