关于使用struts2跳转后css和js失效的解决方式
2015-07-11 10:15
567 查看
根据观察,主要是由于通过action跳转后的url会根据命名空间,自动跳转到命名空间子目录,使得当前引用的css和js查找不到,从而失效,根据这个原因,可使用四种办法解决:
1.使用struts2.xml文件中配置文件的配置,通过修改result的type使得url重定向,result默认的是dispatcher,是服务器中的跳转,使用redirect可以使得客户端重新得到一个新的url,这样url会是上一次目录,可以查找到css和js,但是这种办法有一种特别不好的地方,每次跳转需要把数据保存到session中,对于开发来说是不可取的,它会重新创建一个action,使得上一个action中的数据无法使用,不建议采用。
2.由于url的原因使得css和js查找不到,我们可以把引入的css和js加入进一步地址比如说:以前的地址是< link href= "../style.css" rel="stylesheet" type="text/css" /> 可以修改为< link href= "../../style.css" rel="stylesheet" type="text/css" />这样网页就可以直接查询到自己的外部样式表了。
3.将struts2.xml命名空间改写为“/”,不再使用自定义的命名空间,比如说“/admin”。
4.使用jsp网页中的basePath是项目的根路径不过需要在其下加入子目录,因为本身的basePath是属于根路径,需要下面的子目录,比如说在admin子目录下:String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+ "/admin/"
1.使用struts2.xml文件中配置文件的配置,通过修改result的type使得url重定向,result默认的是dispatcher,是服务器中的跳转,使用redirect可以使得客户端重新得到一个新的url,这样url会是上一次目录,可以查找到css和js,但是这种办法有一种特别不好的地方,每次跳转需要把数据保存到session中,对于开发来说是不可取的,它会重新创建一个action,使得上一个action中的数据无法使用,不建议采用。
2.由于url的原因使得css和js查找不到,我们可以把引入的css和js加入进一步地址比如说:以前的地址是< link href= "../style.css" rel="stylesheet" type="text/css" /> 可以修改为< link href= "../../style.css" rel="stylesheet" type="text/css" />这样网页就可以直接查询到自己的外部样式表了。
3.将struts2.xml命名空间改写为“/”,不再使用自定义的命名空间,比如说“/admin”。
4.使用jsp网页中的basePath是项目的根路径不过需要在其下加入子目录,因为本身的basePath是属于根路径,需要下面的子目录,比如说在admin子目录下:String basePath = request.getScheme()+"://" +request.getServerName()+":"+request.getServerPort()+path+ "/admin/"
相关文章推荐
- 关于使用struts2跳转后css和js失效的解决方式
- [leetcode]Generate Parentheses(java)
- Java互斥锁简单实例
- [LeetOode][Java] Divide Two Integers
- Spring MVC Controller线程问题
- struts工作流程
- Java经典问题:传值与传引用?
- ubuntu下安装jdk
- Java Maven
- Android:复制eclipse下的Android项目,成为一个新项目
- eclipse中项目文件的几种读取图片方法
- java计算时间差
- java Enumeration
- Java并发编程:深入剖析ThreadLocal
- eclipse(myeclipse)插件links方式安装
- myeclipse整合maven
- eclipse中项目文件变更位置后的浏览器读取地址的变化
- Java - 判断元音辅音
- eclipse 启动到loading workbench... 自动关闭
- Java读入int数字利用system.in判别季节小测验