`
jdluojing
  • 浏览: 17976 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

frame页面跳转和信息提示页面

 
阅读更多

在web应用中经常需要判断用户是否已经登录,如果没有登录,那么跳转到登录页面。一般我们在后台页面中都会使用frame来划分功能区。这种方法比较实用,但是随之而来就有一个小问题,就是当用户session超时之后,当用户再在后台进行操作时,我们需要重新让用户登录。一般我会选择使用一个Filter来控制用户的访问权限,当用户没有登录的时候重定向到login.jsp。那么我们可以直接使用request.sendRedirect()方法来实现。但是由于是在frame中,所以这种方式会将login.jsp显示在当前的frame中,这并不是我们想要的效果。sendRedirect放方法中并没有能<A>中的target属性。这里我们可以采用javascript来实现这一功能。

PrintWriter out =resp.getWriter();

out.write("<html>");

out.write("<script>");

out.write("window.open ('login.jsp','_top')");

out.write("</script>");

out.write("</html>");

return;

当然,如果浏览器禁用了javascript,那么这种方法就没用了。不过有多少人没事将javascript禁用调用呢。如果有更好的方案(不使用js),麻烦告知我一下..

还有一个问题就是,当用户登录失败或者操作执行之后总是需要给出一些提示信息吧。如果总是使用js弹窗来做提示的话,用户体验不好。最好还是专门做一个提示页面,当需要显示提示信息的时候,我们可以呈现该页面,并将一些参数传递过来,比如提示内容,要调转的页面等。在使用struts2时,我不太喜欢使用自带的一些提示功能(也不喜欢用它的标签),小的网站应用根本不用考虑国际化之类的问题,直接把提示硬编码在代码中效率更高,谁没事三天两头的去修改代码…

message.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
	String path = request.getContextPath()
			+ request.getAttribute("url");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>

		<title>提示信息</title>
		<meta http-equiv="pragma" content="no-cache">
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="expires" content="0">
		<meta http-equiv="Refresh" content="4; url=<%=path%>" />
	</head>

	<body>
		<table border="0" align="center" cellpadding="5" cellspacing="1"
			style="font-size: 14px; color: #333333; margin-top: 100px; background: #70afd3">
			<tr style="color: #FFFFFF">
				<th>
					提示信息
				</th>
			</tr>
			<tr>
				<td height="100" style="font-size: 12px; background: #FFFFFF">
					<div style="font-size: 14px; font-weight: bold; margin: 10px;">
						${message}
					</div>
					<div style="margin: 10px;">
						系统将在
						<span id="countDownSec" style="color: blue; font-weight: bold"></span>秒后自动跳转,如果不想等待,直接
						<a href=<%=path%> style="color: #069;">点击这里</a>
					</div>
				</td>
			</tr>
		</table>
<script language="javascript" type="text/javascript">
var countDown = function(timer,eleId,interType){
	document.getElementById(eleId).innerHTML = timer;
	var interval = interType=='s'?1000:(interType=='m'?1000*60:1000*60*60);
	window.setInterval(function(){
		timer--;
		if (timer > 0) {
			document.getElementById(eleId).innerHTML = timer;
		}
	},interval);
};

countDown(4,'countDownSec','s');

</script>
	</body>
</html>

Action呈现提示页面:

setMessage("登录失败:用户名或密码不正确!","/admin/login.jsp");

return MESSAGE;

效果图:

以上是小弟个人看法,如有不妥之处还望前辈指正!



分享到:
评论

相关推荐

    jsp页面跳转

    以上介绍了五种JSP页面跳转的方法,每种方法都有其适用场景和特点。在实际开发中,应根据具体需求选择合适的方法来实现页面跳转。需要注意的是,合理选择跳转方式不仅能够提升系统的性能,还能改善用户体验。

    WPF登录和跳转程序

    **WPF登录和跳转程序**是基于Windows Presentation Foundation(WPF)框架开发的一个应用程序,主要功能是实现用户登录验证并根据验证结果跳转至不同的界面。WPF是微软推出的一种用于构建桌面应用的UI框架,它提供了...

    Form提交表单页面刷新不跳转

    当用户填写并提交表单时,页面不会完全重新加载,而是通过JavaScript对提交的结果进行处理,例如更新页面某部分内容或者弹出提示信息等。这样用户不需要等待整个页面重新加载,能够更快地看到反馈。 需要注意的是,...

    js实现页面跳转重定向的几种方式

    在网页开发中,页面跳转重定向是一个常见的需求,它涉及用户在点击链接或按钮后,根据一定条件转向...在实际开发中,页面跳转重定向的设计应当基于用户交互逻辑和业务需求,选择合适的方法以实现流畅且友好的用户体验。

    详解js location.href和window.open的几种用法和区别.docx

    window.open() 会打开新的浏览器窗口或 Tab,而 location.href 则是在当前页面跳转到新的 URL。 六、实际应用 在实际应用中,location.href 和 window.open() 都可以用来实现页面的跳转和弹出窗口,但是它们的用法...

    JS实现刷新父页面不弹出提示框的方法

    本文实例讲述了JS实现...1、A页面很简单的情况(没有frame/iframe) 在B页面中的function中: function close(){ window.opener.location.reload(); window.opener = null; window.open('','_self'); window.close

    jQuery控制frames及frame页面JS的方法

    jQuery控制frames及frame页面JS的方法主要讲述了使用jQuery技术操作frameset和frame页面的技术细节。在具体介绍方法之前,需要明确几个基本概念。 首先,frame是HTML中的一个框架元素,可以用于将浏览器窗口分割为...

    JS 禁止访问某页面

    // 重定向到提示页面 } function isAllowed() { // 这里添加你的检查逻辑,如用户身份验证等 return false; // 为了演示,暂时总是返回false } ``` 上述代码会检查`isAllowed()`函数的返回值,如果不允许访问,...

    iOS 原生加载微信支付链接跳转支付宝方法封装

    接着,根据官方文档配置所需的商户信息,如AppID、私钥等。然后,创建支付宝支付请求对象,设置交易参数,最后调用`AlipaySDK.default().pay()`方法发起支付请求。 6. **处理回调结果** 支付宝支付完成后,会通过...

    javascript 页面刷新和模态对话框 学习总结 推荐哦

    - **功能**: 如果`url`为其他页面则为跳转,如果`url`为`location.href`或`location`则为刷新本页面。 - **示例**: ```javascript location.assign(window.location.href); // 刷新当前页面 location.assign(...

    Iframe的页面,判断是否登录的时候有时候有问题就需要

    3. **用户体验设计**:如何优雅地处理未登录情况,避免突然的页面跳转或加载错误页面,也是设计者需要考虑的问题。 ### 解决方案与最佳实践 为了解决上述挑战,可以采用以下几种方法: 1. **使用PostMessage API*...

    工资管理系统 课程设计

    工资管理系统课程设计 工资管理系统是计算机和现代化管理理论结合的产物,是市场...4. 框架功能导航页面 frame_guide.jsp 通过不同的按钮,使 showframe 框架页面跳转到不同的功能模块页面,以此来实现不同的功能跳转

    iis、apache、nginx使用X-Frame-Options防止网页被Frame的解决方法

    当然也是因为被360检测到了示"X-Frame-Options头未设置",根据360的提示与百度了一些网上的一些资料整理了下,完美解决问题。 首先看下360给出的方案,但么有针对服务器的具体设置,不是每个人对服务器都很懂啊。 ...

    禁止查看页面的源代码实现方法

    ### 禁止查看页面的源代码实现方法 在网页开发与维护的过程中,有时为了保护网站的安全性或防止代码被盗用,开发者会采用各种技术手段来限制用户查看网页的源代码。本文将详细介绍一种利用JavaScript来禁止用户通过...

    IOS二维码扫描可自定义页面(快速集成)

    - 通过这个回调,你可以执行任何需要的操作,如跳转页面、显示提示信息等。 5. **权限处理**: - 集成扫描功能前,需要检查并请求用户授权访问相机。使用`AVCaptureDevice.authorizationStatus(for: .video)`检查...

    layui框架中layer父子页面交互的方法分析

    // 如果指定了iframe,则在改frame中跳转 } else { top_iframe = top.getActiveTab().attr("name"); // 获取当前active的tab的iframe } inputForm.attr("target", top_iframe); // 表单提交成功后,从服务器...

    捕捉IFrame SRC改变事件

    这为开发者提供了极大的灵活性,例如可以在主页面中加载不同的内容而无需刷新整个页面。然而,在使用`&lt;iframe&gt;`时,有时我们需要监测其内容的变化,特别是当`&lt;iframe&gt;`中的源地址(src属性)发生改变时。 #### 1. ...

    在iframe 中页面中设置遮罩遮罩层

    在网页设计中,有时我们需要在页面中添加一个遮罩层,以实现如加载动画、弹窗提示或隐藏部分内容的效果。本话题将详细讲解如何在iframe中实现页面的遮罩层功能,结合`right.html`, `main.html`, `left.html`, `top....

    Python通过GUI图形库wxPython连接oracle数据库实现系统登录、跳转主界面功能(源代码下载)

    4. **页面跳转主界面**: 在登录验证成功后,程序需要关闭当前的登录窗口并打开主界面。在wxPython中,可以通过创建新的窗口类(如`HomeFrame`)并显示它来实现。关闭登录窗口时,可以调用`Destroy()`方法。在`home...

Global site tag (gtag.js) - Google Analytics