背景需求:

系统本身的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);
}

最新文章

  1. 利用web工具splinter模拟登陆做自动签到
  2. H5前端面试题及答案(1)
  3. 3.django笔记之form表单
  4. svn利用钩子post-commit自动更新到线上测试服务器(测试中未验证)
  5. mysql 字段引号那个像单引号的撇号用法
  6. stl学习之模板
  7. openstack私有云布署实践【16.3 Windows Server2008 R2 只有C盘分区镜像制作】
  8. python3基础之整数常用的方法整理
  9. ubuntu16.04安装交叉编译链
  10. 【数论】Lucas
  11. C语言所有作业练习题
  12. Solr(六)Solr索引数据存放到HDFS下
  13. intelij IDEA破解
  14. macbook突然没有声音了
  15. Django复习1
  16. FPGA 关于中间环节生成时钟的约束---Generated clocks
  17. python学习记录
  18. Django 学生信息 添加 功能 遇到的问题.
  19. P2519 [HAOI2011]problem a
  20. 解决cron无法运行报错:FAILED to authorize user with PAM (Module is unknown)

热门文章

  1. Emmet语法实例(帮助快速开发)
  2. Redhat系统网络配置
  3. sql group by 理解
  4. Todd&#39;s Matlab讲义第4讲:控制误差和条件语句
  5. PHP截取中文无乱码函数——cutstr
  6. 【bzoj1060】[ZJOI2007]时态同步
  7. 虚拟机安装Ubuntu三种网络模式
  8. mongodb university week4
  9. C#GDI+基础(三)画刷详解
  10. 如何开启telnet 23端口