Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model view controller 编写jsp标记库_Model View Controller_Jsp_Tld - Fatal编程技术网

Model view controller 编写jsp标记库

Model view controller 编写jsp标记库,model-view-controller,jsp,tld,Model View Controller,Jsp,Tld,我使用的是MVC模型,在该模型中,我为不同的应用程序编写了太多基于web的小部件,这导致我需要进行大量重复工作来解决我计划为每个小部件的jsp标记编写新包的问题(使用tld)生成的jar将包含在许多使用这些小部件的应用程序中,我也能够成功地实现这一点 但在这里,我有点担心小部件使用的css和javascript 假设我在库中的jsp标记中编写css,那么在这种情况下,每次它都会获取css和脚本,这会导致额外的延迟,如果我在客户端编写公共css,那么对于使用我的小部件包的多个应用程序,需要一次又一

我使用的是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标记。

由于Servlet3.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之前的Web应用程序,那么请告诉开发人员将您的标记库的CSS和JS文件部署在Web应用程序中的特定目录下。

实际上,我正计划为应用程序编写一个不同的jar,在这种情况下是否可能以优雅的方式获得CSS。我不明白您的要求。我想为jsp标记widgt创建一个jar,它将包含js和css。我想以优雅的方式将这些js和css添加到我的应用程序中,我的答案是:将实现这些JSP标记的类放在一个jar中,在同一个jar中的META-INF/resources下,将标记使用的js和css文件放在一个jar中。开发者只需将jar文件放入他们的webapp即可使用您的标记。CSS和JS文件将由web容器直接从jar文件提供。示例中的error.css文件必须位于META-INF/resources下。不是直接在META-INF下。您是否在servlet 3.0 webapp中使用它?它怎么不起作用?