struts2 Action返回JSP页面CSS和JavaScript失效的解决方法。

问题:struts2 Action返回JSP页面CSS后失效

问题分析:

1,直接访问 XXX.JSP文件,发现CSS文件可以起作用;

2,将这些CSS文件直接写入JSP页面中<head>标签下,发现Action返回这些CSS在起作用。

因此,CSS代码无问题,对于JSP页面CSS文件的路径无问题。问题在于对于XXXX.action来说。CSS文件的位置不对。比如一个登陆界面,一般都会将XXX.Java文件放于src文件夹下的Login包内。而JSP文件放于web.loginFile下面,CSS文件也放在loginFile下面,此时Login.jsp与CSS文个在同一个目录下面,Login.JSP通过相对路径直接可以找到CSS。因此直接访问JSP文件CSS起作用。

然而,当通过动作回发JSP时,可以从浏览器的URL出发现反问的是……8080/Login.action或者如果sruts.xml中 package设置了namespace="/Login" 时URL为……8080/Login/Login.action。显然这个URL肯定找不到CSS文件。

那么是否可以用绝对的URL定位CSS文件呢,经粗略测试了一下,貌似不行。

我是在将代码从IntelliJ IDEA从搬到eclipse中才出现的这个问题。而在IntelliJ IDEA中却没有此问题,猜测可能是由于IntelliJ IDE的关系,可能是自动添加了类似下面的获取路径的方法,又或者是我两个IDE 中web的部署不一样导致的?

解决方法:从网上找到的一种,这种方法采用了java脚本。javaScript应该也存在同样的问题(暂没测试)。这个问题的应该还有其他解决方法。 

<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/js/easyui/themes/default/easyui.css">

<script type="text/javascript" src="<%=request.getContextPath()%>/js/easyui/locale/easyui-lang-zh_CN.js"></script>
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值