freemarker引用外部CSS、JS、图片文件的路径问题
1.开发环境:spring2.5+struts2.0.11.1+freemarker2.3.8
采用freemarker顶替JSP作为view
2.web目录结构:
web
index.html
......
WEB-INF
inc
css
login.css
images
hans_head_pieces.gif
hans_banner.gif
js
public.js
prototype.js
......
macros(freemarker的macro)
common.ftl
pages(以ftl格式编写的html文件,其实就是ftl文件)
login.html
3.引用外部文件说明
我的login.html有关引用外部文件的语句如下:
<!--引用macro-->
<#import "/WEB-INF/macros/common.ftl" as com>
<!--引用外部CSS及JS-->
<link href="/WEB-INF/inc/css/login.css" rel="stylesheet"/>
<script src="/WEB-INF/inc/js/public.js" type="text/javascript"></script>
......
<!--页面的head-->
<table cellSpacing=0 cellPadding=0 width=780 align=center border=0>
<tr>
<td><img src="/WEB-INF/inc/images/hans_head_pieces.gif"></td>
</tr>
</table>
4.问题描述:
(1)引用macro一切正常。
(2)引用外部CSS及JS、gif等图片文件均失效。当然也没有出现任何错误提示,也就是说没有引用到
(3)奇怪的是,同样的引用路径写法,引用macro却一切正常。
该问题已经郁闷我很久了,敬请各位大侠不吝指教,不胜感激!
------解决方案--------------------
<#assign path="${request.getContextPath()}">
..............
<link rel="stylesheet" href="${path}/inc/css/login.css" type="text/css"/>
<script src="${path}/inc/js/prototype.js"></script>