欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

frameset中的页面退出的有关问题

更新时间: 2014-01-05 00:51:25 责任编辑: Author_N1

 

frameset中的页面退出的问题
当我们使用frameset来构建页面的时候, 会遇到一个问题,就是当我们想通过里面的某个页面的某个链接来退出系统到登录界面的时候, 会另整个frameset保持不变,而只有那个页面跳转回了登录界面。


这里详细的把这个环境记录下来以便以后学习。


项目构建图如下:




网页界面如下:



这里中上的是top.jsp文件,
  <body>
    <div id="top">
    	<div id="topIntro">
    	 <a href="<%=path%>/admin/logout">退出系统</a>
    	</div>
    
    	<div id="remind">
    		<span id="showDate">欢迎光临</span>
    	</div>
    
    
    </div>
  </body>

这个文件通过SpringMVC的控制器路径来登出界面,然后返回到login.jsp页面。
然而当我们点击“退出系统”的时候,发现只有top.jsp页面所在的frame被导航到了login.jsp。

这显然不是我们所期望的。


这里的解决方法是, 我们必须让frame的父级元素去请求控制器,从而让父级的页面整个被导航回到login.jsp。
具体方法如下:

首先新建一个javascript方法, 这里我们要让javascript来帮助我们调用父级的页面来访问后台。

  <script type="text/javascript">
    	function exitSystem(){
    		window.parent.location.href=$("#contextPath").val()+"/admin/logout";
    	}
    </script>


contextPath是一个隐藏类型的input, 也就是contextPath的值。
这里window.parent也就是全局的最外级页面(我个人理解)
这里使用window.top.location.href也会起到同样的效果。


然后修改top.jsp文件为:
	 <input type="hidden" id="contextPath" value="<%=path%>"/>
  
	
    <div id="top">
    	<div id="topIntro">
    	 <a href="javascript:exitSystem()">退出系统</a>
    	</div>
    
    	<div id="remind">
    		<span id="showDate">欢迎光临</span>
    	</div>
    
    
    </div>


再次点击, 便会让整个页面被导回login.jsp页面了。


完整源码:
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 00:51:25
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/627/
本文WWW.DOC100.NET DOC100.NET版权所有。