【问题标题】:Using URLRewriteFilter CSS and JS not loaded使用 URLRewriteFilter CSS 和 JS 未加载
【发布时间】:2016-03-23 14:58:20
【问题描述】:

我正在使用 URLRewriteFilter 清理 URL。我让它工作了,但是 css 和 js 文件没有正确链接。

假设我的项目是演示。

这是我的 urlrewrite.xml 文件:

<rule>
    <from>^/([0-9]+)$</from>
    <to>/test.jsp?id=$1</to>
</rule>

所以,当我去http://localhost:8080/demo/1234

它会将我转发到 test.jsp,我可以获得参数 id

但是没有加载 css 样式表和 js 脚本。所有的css和js文件都在项目的/css和/js文件夹中。

这里是css和js脚本:

<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<link rel="stylesheet" href="css/jquery-ui.min.css" type="text/css"/>

我添加了条件,但不确定它是否正确。

条件:

<rule>
    <condition type="request-uri">^(?!.*\.?:jpg|png|css|js)$).*$</condition>
    <from>^/(.*).css$</from>
    <to>/css/$1.css</to>
</rule>

谁能告诉我我需要做什么。一些代码示例会对我有很大帮助。

谢谢

【问题讨论】:

  • 有人可以帮我吗?

标签: javascript css url-rewriting tuckey-urlrewrite-filter


【解决方案1】:

这是因为 URLRewriteFilter 将 url 转发到您的实际位置,所以问题是您的 url 路径更改,并且 js、css 和所有其他资源都根据 url 在新路径上搜索。

<script type="text/javascript" src="js/jquery-ui.min.js"></script>
<link rel="stylesheet" href="css/jquery-ui.min.css" type="text/css"/>

所有你需要把上下文路径放在这里。如果您的 css 和 js 在各自项目上下文路径下的命名文件夹中。

<script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-ui.min.js"></script>
<link rel="stylesheet" href="<%=request.getContextPath() %>/css/jquery-ui.min.css" type="text/css"/>

【讨论】:

    猜你喜欢
    • 2017-03-08
    • 2014-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-13
    • 2019-08-14
    • 1970-01-01
    • 2012-10-29
    相关资源
    最近更新 更多