如何解决Avtion或者Handle转发后的页面css和js失效问题

问题:          1.地址栏访问页面index.jsp,css样式显示,js加载;

                       2.页面提交后,经过Handel处理后,转发到index.jsp,css,js失效

项目具体情况:

1.地址栏访问如下图

 

 

2.index.jsp在项目的路径:在WebRoot下的sc中,css样式在sc下

 

 

3.页面引入css的写法

 

 

4.页面提交,表单提交的路径是处理器的路径(<form action="${pageContext.request.contextPath }/login.action" method="post">)

5.提交成功后,Handle处理

6.转发到index.jsp,css,js失效

 

7.视图解析器前缀后缀的配置

 

问题原因分析:1.地址栏访问时,页面引入css样式是相对于页面所在相对路径,就是说从index.jsp所在位置,开始查找css样式,此时可以查找到,所以显示样式

                            2.处理器转发后,由于Handle的命名空间是WebRoot下,所以转发后,页面引入css样式则是从WebRoot开始查找,由于css样式在sc下,所有当然找不到,找不到,所有不显示css样式,js同理

解决办法:将jsp和Handle放在同一目录下即可。

                  1.可使用绝对路径,在jsp页面顶部加入以下标签:

                   

               

                 2.由于使用绝对路径的方法,所有可移植性较差,所以可以使用这种方法

                          此时表单提交的路径是(<form action="${pageContext.request.contextPath }/sc/login.action" method="post">)

                      在处理器中设置访问路径,如下:

                      

这样设置后:再次登录,处理后,页面正常如下:Action的处理原理是相同的,就是在Action的命名空间即namespace中加上/sc即可

                            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值