struts2 action重定向 页面引入的图片或css、js代码失效

今天要讲的是重定向的问题
我的项目是点一个链接,跳出一个文档列表,链接的地址是documents.action,然后在出现的文档中有删除的功能,一删除某个文档,就跳回原来的文档列表,这里用到了重定向。在struts.xml文件中配置delete.action的返回结果就是document.action。这里就出问题了,因为我在文档列表的页面中引入图片时,用的是相对路径,图片放在当前jsp页面的上一级路径,所以当重定向后,引入图片的地址就变了。
举例说在一个项目struts下,document.jsp放在jsp文件夹下,而图片1.gif放在与jsp同目录的struts下,那么当直接显示document.jsp时,图片的地址是http://localhost:8080/struts/1.jsp,而我点击删除某个文档再跳回的文档列表页面中,图片的地址变为了http://localhost:8080/1.jsp。这样图片当然是显示不出来的。
那么你要说要用绝对路径了,但是我对绝对路径真的非好感,如果用本地文件的绝对路径,要是把项目换个盘放放,那岂不是都要改路径了?如果用网上的图片,那么断网的时候就显示不出来了,而且说不定什么时候那网站就把图片资源删了,所以我挺烦浏览某些网页的时候图片不存在就显示不出来。
我们一个小组的人还挺郁闷的,商量好久解决不了,因为重定向经常用到,老师说要么直接显示文档的时候也用重定向,可是这毕竟不是解决的办法。
以下就是重点了:
就是
使用base href
在每一个jsp文件顶部加入以下代码
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <base href="<%=basePath%>">
 
 <img src='images/go.gif'/>
这样问题就解决了!感慨很多,也许问题很弱智,但是希望对你有用啦!
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值