我正在使用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>
有人可以让我知道我需要做什么。一些代码示例对我有很大的帮助。
由于
答案 0 :(得分:0)
这是因为URLRewriteFilter
会将网址转发到您的实际位置,因此问题在于您更改网址的路径,并按照网址在新路径上搜索js,css和所有其他资源。
<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"/>