`

ACEGI的登陆成功后的跳转

    博客分类:
  • J2EE
阅读更多
经验是积累出来的。

过去也写过不少登陆,但从没想过,也没碰到过登陆成功后,跳转到登陆前的页面。

过去都是登陆成功后,直接跳到首页。但这样对用户太不负责了。没有很好的用户体验。

其实这个跳转也是很简单的,只要在登陆页面上传 个URL参数到action里面不就可以了。

但问题是,用了ACEGI,ACEGI里面只能用defaultTargetUrl跳转到一个页面。这个也可以覆盖ACEGI的什么东东,但也太小题大做了吧。

现在的思路是:在ACEGI跳转到的页面里再一次跳转,但这个跳转的URL怎么得来呢。

答案是从session里面得到。当然这可能带来性能的负面影响。但现在没有想到更好的方法啊。

这个URL可以用request.getRequestURI()得到,但这个得到的是应用程序页面的实际地址,不是浏览器的地址,(浏览器地址是经过URL重写,不是真正页面的地址)

这个时个JS又起作用了
通过
<script language="javascript">   
  alert(window.location.href);   
  alert(window.location);   
  alert(location.href);   
  alert(parent.location.href);   
  alert(top.location.href);   
  alert(document.location.href); 
  alert(document.URL);
</script>

这个就是当前浏览器栏里的地址了。放在登陆地址的后面
/login.jsp?window.location.href
再通过request.getQueryString()就可以得到这个跳转地址了!
分享到:
评论
1 楼 magicalboy 2009-12-11  
方法是N多的, 用哪种好呢

相关推荐

Global site tag (gtag.js) - Google Analytics