自定义tld标签,页面使用

背景需求:

系统本身的session不能在页面使用

 

如下:

controller:

@RequestMapping(method=RequestMethod.GET)
    public String getIndex(HttpServletRequest request){
        //获取工具id,返回页面工具id,为设置页面高度
        request.setAttribute("toolId",toolManager.getCurrentPlacement().getId().replaceAll("-","x"));
        //查询签到、签退状态
        Check check = checkService.getBankCheck();
        //存放签到、签退状态
        if(check!=null){
            sessionManager.getCurrentSession().setAttribute("checkType", check.getCheckType());//----------------设置此session,前台获取不到
        }else{
            sessionManager.getCurrentSession().setAttribute("checkType", 0);
        }
        return "module/check/check";
    }

定义的tld标签和lib同级:

mysession.tld

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"     
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"     
    version="2.0">   
    <!-- 定义函数版本 -->
    <tlib-version>1.0</tlib-version>
    <!-- 定义函数名称 -->
    <short-name>session</short-name>
    <!-- 定义第一个函数 -->
    <function>
        <!-- 定义第一个函数:reverse -->
        <name>get</name>
        <!-- 定义函数处理类 -->
        <function-class>com.yunzainfo.common.tag.MySessionTag</function-class>
        <!-- 定义函数的对应方法 -->
        <function-signature>
            java.lang.Object get(java.lang.String)
        </function-signature>
    </function>
    
    
</taglib>

 

执行标签具体的类是:

com.yunzainfo.common.tag.MySessionTag

package com.yunzainfo.common.tag;

import org.sakaiproject.tool.cover.SessionManager;


public class MySessionTag {
        
        public static Object get(String name){
            Object o = SessionManager.getCurrentSession().getAttribute(name);
            return o == null ?"":o;
        }
        

}

 

页面获取用:

//设置签到、签退状态
            if("1"=="${session:get('checkType') }"){                   //----------------------用${session:get('checkType') }获取controller中设置的值
                $("#status").html("今天您已经签到,请签退");
                $("#signIn").attr("disabled",true);
                $("#signOut").removeAttr("disabled");
            }else if("0"=="${session:get('checkType') }"){
                $("#status").html("今天您还未签到,请签到");
                $("#signOut").attr("disabled",true);
                $("#signIn").removeAttr("disabled");
            }else{
                $("#status").html("今天您已签退,不能进行操作");
                $("#signOut").attr("disabled",true);
                $("#signIn").attr("disabled",true);
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值