1.页面开发时,在页面中对同一url链接可以多次访问,这时不同的浏览器可能处理方式不同,如IE(我测试是用的是IE11)可能是浏览器本身缓存的缘故,会拒绝访问。
这时我得解决办法是,在每一个url访问时后面多加一个时间搓的参数,如
var timestamp = new Date().getTime(); window.location.href ="index?ts="+timestamp;
这样可以有效的防止一下现象。
同时还有一种方法同样可以解决,因为我的项目中用了jquery,所以我在每个页面的js中加上如下语句
$.ajaxSetup ({ cache: false //设置成false将不会从浏览器缓存读取信息 });
2.在jsp页面开发时,会遇到页面跳转路径的问题,如相对路径、绝对路径。因为jsp的访问时通过servlet或是用struct的action等时,这样和本地访问或是直接访问页面的路径不一样了。
所以我通过用basepath的方式解决访问路径混乱的问题。
首页,我在公用的jsp头文件会加上下面的话
<% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path; System.out.println("basePath===>>"+basePath); %>
上面的语句应该输出http://ip:端口,作为basepath
然后可以在<head>标签中加上
<base href="<%=basepath %>" />
或是
<input type="hidden" id="basepath" value="<%=basePath %>" />
是别的页面可以获取到basepath的值。这里我推荐用后一种方法。
这时,在jsp中如果想跳转页面或是请求action时,就应该
var timestamp = new Date().getTime(); var basepath = $("#basepath").val(); window.location.href = basepath+"/doIndex?ts="+timestamp;
3.如何用获取base标签中href的值
var href = $("base")[0].href
时间: 2024-10-13 12:41:13