首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JAWR覆盖未绑定文件的加载。

JAWR覆盖未绑定文件的加载。
EN

Stack Overflow用户
提问于 2010-07-07 15:04:45
回答 2查看 2.3K关注 0票数 0

我们使用JAWR来捆绑CSS和Javascript。它大大减少了点击次数和下载的字节数。然而,我们最近遇到了一个问题,导致没有“控制”的css文件返回一个"not“(404)代码。我们有解决办法,但我想知道是否有更好的解决办法。

我们为标准的CSS文件集定义了一个css包,并使用它来加载它。我们还有一些非标准的css文件,包括一对定义“遗留”布局的文件。他们满满当当。最后,为CSS服务的绑定到web.xml中的url模式"*.css“。使用此配置,任何来自标记的css文件请求都会返回404代码。我们找不到JAWR属性设置的组合来解决这个问题。

我们提出的解决方案是修改web.xml中的JAWR配置,添加“映射”参数:

代码语言:javascript
复制
    <servlet>
    <servlet-name>CssServlet</servlet-name>
    <servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>
    <init-param>
        <param-name>configLocation</param-name>
        <param-value>/jawr.properties</param-value>
    </init-param>
    <init-param>
        <param-name>type</param-name>
        <param-value>css</param-value>
    </init-param>
    <init-param>
        <param-name>mapping</param-name>
        <param-value>/jawrcss/</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
</servlet>

我们将CssServlet的url-模式更改为"/jawrcss/*“。通过此更改,JAWR不会触及从未修改的标记加载的css文件。不过,我们失去了JAWR对这些文件的压缩能力。

我的猜测是,为了让JAWR正确地处理这些文件,我们需要将标记更改为标记,此时JAWR的“孤立”处理将做正确的事情。这是有问题的(至少)几个原因。(1)我们使用的是共享代码库,“不能”修改一些文件,因为共享这些文件的其他文件没有使用JAWR。(2)有些文件使用JavaScript动态加载css,我不知道如何将它与JAWR支持结合起来。

那么,我的问题是什么?

  1. 有没有一种方法可以让JAWR句柄(至少压缩)从标记加载CSS文件?(主要问题)
  2. 是否有方法将JAWR与Javascript加载的CSS一起使用?
EN

回答 2

Stack Overflow用户

发布于 2011-06-16 06:54:35

对于加载了javascript的CSS (或者JS ),您可以使用JAWR的脚本加载器(在这里解释- html.html)。记住,使用脚本加载程序是一种权衡(上面提到的页面最后一段描述了这一点)。

关于你的问题1),你所说的标签是指哪些标签?JSP标签?

票数 1
EN

Stack Overflow用户

发布于 2011-07-04 16:03:49

您可以为servlet使用映射<init-param>,并将servlet绑定到该url。

来自Jawr servlet文档的示例:

代码语言:javascript
复制
    ...
    <servlet>
            <servlet-name>JavascriptServlet</servlet-name>
            <servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>
            <init-param>
                    <param-name>configLocation</param-name>
                    <param-value>/jawr.properties</param-value>
            </init-param>
            <init-param>
                    <param-name>mapping</param-name>
                    <param-value>/jsJawrPath/</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
    </servlet>
    ...

    <servlet-mapping>
            <servlet-name>JavascriptServlet</servlet-name>
            <url-pattern>/jsJawrPath/*</url-pattern>
    </servlet-mapping> 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3196039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档