0

我正在使用 MVC 模型,在该模型中我为不同的不同应用程序编写了太多基于 Web 的小部件,这导致我需要大量重复工作来解决问题我计划为每个小部件的 jsp 标签编写新包(使用tld) 和生成的 jar 我将包含在许多使用这些小部件的应用程序中,我也能够成功地做到这一点。

但是在这里我有点担心小部件使用的css和javascript。

假设我在库中的 jsp 标记本身中编写 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 标签。

4

1 回答 1

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

如果您的目标是 pre-servlet3.0 webapps,那么告诉开发人员将 taglib 的 CSS 和 JS 文件部署在 webapp 的特定目录下。

于 2012-12-08T15:02:50.343 回答