java页面拦截器_Java利用拦截器控制前端登录前后模块的显示-Fun言

网站的所有页面都会有登录前后模块的显示,都是通过判断session是否有值进行对display赋值的,本网站是在前端通过判断后用js进行的切换,感觉很累赘而且拖慢了网页速度,于是想到可不可以在后端判断完然后发送到前端直接控制display的值,于是成功了。

一般在网站上想控制模块的显示还是隐藏我们通常使用display:none或block来控制,所以我们的中心思想就是把none和block这两个值在后端获取到,这样就不用再在前端进行判断了,效率很高,下面把代码贴出来。

代码部分:

1、在所有的网页加载的时候都会经过拦截器,在springmvc中都会经过preHandle,所以这里就判断用户是否登录就行了,因为登陆后session中都会存放值,所以我们把值取出来进行判断就行了,值得注意的是,这个判断必须放在最前面//判断用户身份在session中是否存在

HttpSession session=request.getSession();

//session如果不存在就设置登录模块的值

if(session.getAttribute("username")==null){

//登陆前模块显示

session.setAttribute("loginPre", "block");

//登陆后模块隐藏

session.setAttribute("loginOver", "none");

}

2、登陆成功后在controller里直接添加session的值,这样就不用每次刷新页面就添加一次了//登陆成功后设置登录模块的值

session.setAttribute("loginPre", "none");

session.setAttribute("loginOver", "block");

3、将这两个值放到前端,用el表达式取出来即可

这样就可以了,然后给大家看看我以前的方法,就知道这个多么高效了

$(function(){

success();

});

function success(){

if(session.getAttribute("userInf")!=null){

User user=(User)session.getAttribute("userInf");

%>

$('.qww').css('display','none');

$('.qwq').css('display','block');

}else{

%>

$('.qww').css('display','block');

$('.qwq').css('display','none');

}

%>

}

你还没有登录,请先使用 QQ登录 或 注册!

文章评论

发表评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值