今天依然是对项目进行修改和完善。忙里偷闲写了一个统计在线人数并显示名称的功能。写之前上网搜索了一下,没找到太令人满意的实现。把代码贴出来共享一下吧。
以下是一个保存在线人数的类,使用了单例模式
package com.teamlab.tool;
import java.util.Iterator;
import java.util.Vector;
import com.teamlab.entity.Employee;
public class EmployeeList implements java.io.Serializable {
private static final EmployeeList employeeList = new EmployeeList();
private Vector <Employee> v;
private EmployeeList()
{
v = new Vector<Employee>();
}
public static EmployeeList getInstance()
{
return employeeList;
}
public void addEmployee(Employee employee)
{
if(employee!=null)
v.add(employee);
}
public void removeEmployee(Employee employee)
{
if(employee!=null)
v.remove(employee);
}
public Iterator<Employee> getIterator()
{
return v.iterator();
}
public int size()
{
return v.size();
}
}
Employee类实现了HttpSessionBindingListener监听器接口。当Employee对象被放到session中或者从session中移除的时候,容器会自动调用valueBound或者valueUnbound方法。
public class Employee implements java.io.Serializable,HttpSessionBindingListener{
private EmployeeList el = EmployeeList.getInstance();
public void valueBound(HttpSessionBindingEvent arg0) {
el.addEmployee(this);
}
public void valueUnbound(HttpSessionBindingEvent arg0) {
el.removeEmployee(this);
}
}
在Action中声明两个变量并设置相应的get和set方法
private EmployeeList employeeList = EmployeeList.getInstance();
private Iterator<Employee> el = employeeList.getIterator();
在jsp页面中就可以通过OGNL表达式访问它们了
<table cellpadding="3" cellspacing="3"">
<tr>
<td style="white-space: nowrap; vertical-align: top; font-family: Arial; font-size: 18px; color: #1a6309;">
Online (<s:property value="employeeList.size()"/>):
</td>
<td style="padding-top: 8px; vertical-align: top;">
<div class="clearFix">
<s:iterator value="el" >
<div style="padding: 0px 10px 7px 0px; float: left;">
<span class="userLink" style='white-space: nowrap;'>
<a class='linkDescribe' href="#"><s:property value="trueName"/></a>
</span>
</div>
</s:iterator>
</div>
</td>
</tr></table>
分享到:
相关推荐
"六月毕业实习日志范例.pdf" 根据提供的文件信息,我们可以总结出以下知识点: 1. 实习报告的编写:实习报告是实习生在实习结束后所编写的报告,旨在总结实习的经验和收获。 在这个实习日志范例中,实习生详细...
2. 人资部每月 16 日之前转化为电子版,统一管理。 七、检查和考评: 1. 人资部定期对各部门的工作日志执行情况进行检查。 2. 检查结果将作为部门和个人考评、晋升、加薪、评优等的重要参考依据。 八、范文和修改...
5. **日志分析**:系统提供了强大的日志分析功能,可以统计错误频率、识别异常模式,甚至通过机器学习算法预测潜在问题,帮助开发者提前预防故障。 6. **日志导出与备份**:为了方便离线分析和长期保存,日志可以...
综上所述,这个"CS的系统日志查询代码"项目涵盖了C#编程、GUI设计、日志处理、查询实现等多个核心IT知识点,对于初学者来说,它是一个很好的学习实践平台。通过深入理解和实践这些技术,开发者可以提升自己的技能,...
3. **日历视图**:系统可能提供一个日历界面,用户可以直观地查看一个月或一周的工作安排,快速定位和管理特定日期的日志。 4. **搜索与过滤**:用户可以通过关键词、日期范围等条件快速查找相关日志,便于回顾和...
1. **个人信息与日期**:工作日志开始时会列出参与者的姓名,如王摩西、廖浩阳和马雪曼,以及记录的日期,例如2013年5月30日。这提供了日志的基本信息,让读者知道是谁在何时进行了记录。 2. **工作活动**:日志中...
”等信息衍生和新闻推送,利用机器学习支持的社会和内容推荐,如“你可能认识的人”,以及包括网站健康审计和账号欺诈检测在内的许多其他后端监控和报告平台。 4. Kafka的结构:Kafka组织消息为分区的预写式提交...
### 实验手册:搜狗搜索日志分析系统实现-Hadoop2.0-v1.2-noted ...通过以上实验内容的学习和实践,我们可以全面了解搜狗搜索日志数据的分析流程,并掌握使用Hadoop生态系统进行大数据处理的关键技术。
通过查看源码,我们可以学习到如何处理股票交易数据的输入和输出,如何与数据库交互,以及如何实现特定的算法,比如计算收益率或风险指标。 4. **第三方组件:Dev**:这里的"Dev"可能指的是开发工具,如Visual ...
1. 满足合规要求:云智综合日志审计平台满足了“网络安全法”中明确规定的网络日志留存时间不少于六个月的要求。 2. 提高安全性:该平台提供了强大的分析功能,能够对大量分散设备的异构日志进行统一管理、集中存储...
这五个方面通常包括:目标设定、时间管理、健康与活力、学习与成长以及人际交往。这些元素旨在帮助个人实现更高效的工作和生活平衡,培养良好的习惯,并朝着理想中的自我前进。 描述中提到的“用于管理自己,帮自己...
标题中的“简单易懂的C语言代码跟踪日志源码头...对于初学者来说,这是一个很好的学习资源,了解如何在C语言环境中构建和使用基本的日志系统。而对于有经验的开发者,这样的工具则提供了快速记录和分析代码行为的便利。
【牟秋宇】2020年4月16日的工作日志反映了他在4月份第7周的工作情况,主要涉及了软件开发过程中的需求评审、文档修改和课堂展示准备等任务。以下是这些工作内容的详细解析: 1. 需求评审:在对H、I组的需求评审过程...
1. 时间管理:日志可能包括每日、每周和每月的时间规划模板,帮助用户合理安排工作、学习和休闲时间。 2. 目标设定:每个部分可能都有设定短期和长期目标的空间,让用户明确自己的期望。 3. 任务清单:提供空间记录...
这个名为"everydayLog:2020年的12月学习日志"的压缩包,显然记录了作者在2020年12月期间学习HTML的心路历程和学习材料。下面我们将深入探讨HTML及其相关知识点,以及可能在这个日志中涉及的内容。 1. **HTML基本...
【Android 时光日志个人日程管理源码】是一个针对Android平台开发的日程管理应用程序的源代码,旨在帮助用户高效地管理和安排他们的日常生活和工作。这个应用的核心功能可能包括创建事件、设定提醒、查看日历视图...
### Oracle数据库学习知识点详解 #### 一、基本使用 ##### 1.1 常用命令 **1.1.1 Connect/Disconnect 数据库连接命令** - **Connect**: 使用 `connect` 命令可以连接到Oracle数据库。语法通常为 `connect ...
7. **习惯养成**:每日记录和查看日程可以帮助培养良好的习惯,如早睡早起、定期运动、定时学习等,同时也可以用于追踪个人成长和进步。 8. **电子化日程管理**:虽然这份日志是纸质版的,但可以作为数字化日程管理...
8. 行动日志表格,包括周 一年月日周二年月日按 ABC 分类起止时间今日事项要事第一(A 类最重要B 类重要C 类次重要)完成打√等多个方面的目标管理。 9. 每日心态管理,包括认真、快、坚守承诺、保证完成任务、乐观...
通过这个实训日志,我们可以学习到如何识别和利用常见的Web应用程序安全漏洞,以及如何对加密代码进行逆向工程。这对于提高信息安全意识和防护能力具有重要意义。同时,这也提醒我们,在开发和维护Web应用时,必须...