您的位置:首页 > Web前端 > JavaScript

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

2015-08-28 15:44 573 查看
问题: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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: