java 标签的制作
最近想学习Struct2 看那些标签 不tai好懂,所以我决定先学习怎么制作标签,那样学好狠多
package com.jxr;
import javax.servlet.jsp.tagext.TagSupport;import javax.servlet.jsp.tagext.Tag;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.PageContext;import javax.servlet.jsp.JspException;import java.awt.*;import java.io.IOException;
/** * hcmfys.@163.com * User: Administrator * Date: 2009-12-3 * Time: 21:48:26 */public class Timer extends TagSupport {
private String timerId;
public void setTimerId(String timerId) { this.timerId = timerId; }
public void setTimer(int timer) { this.timer = timer; }
public String getTimerId() { return timerId; }
public int getTimer() { return timer; }
private int timer;
PageContext pc = null;//声明pagecontext对象
/** * 设置页面的上下文 第一步 */ public void setPageContext(PageContext arg0) { pc = arg0; super.setPageContext(arg0); }
/** * 设置父标签 第二步 */ public void setParent(Tag arg0) { super.setParent(arg0); }
/** * 开始标签要执行的 第三步 */ public int doStartTag() throws javax.servlet.jsp.JspException { JspWriter writer = pc.getOut(); try { writer.write(prepareJs(getTimerId(), getTimer())); } catch (IOException e) { e.printStackTrace(); } return TagSupport.EVAL_PAGE;//根据返回值看看标签结束后要怎样执行别的代码 }
/** * 标签结束后的内容 第四步 */ public int doEndTag() throws JspException { return TagSupport.EVAL_PAGE;//根据返回值看看标签结束后要怎样执行别的代码 }
/** * 释放资源 第五步 */ public void release() { super.release(); }
private String prepareJs(String timerId, int timer) { StringBuffer sb = new StringBuffer(); sb.append(String.format("<div id=\"%s\"></div>\n", timerId)); sb.append("<script type=\"text/javascript\" language=\"javascript\">\n"); sb.append("var timer = function(_id, skipTime) {\n"); sb.append(" this.id = _id; \n"); sb.append(" this.skipTime = skipTime; \n"); sb.append(" };\n"); sb.append("timer.prototype = { \n"); sb.append(" start:function() { \n"); sb.append(" var _self = this; \n"); sb.append(" _self.timerId = window.setInterval(function() { \n"); sb.append(" var today = new Date(); \n"); sb.append(" var year = today.getYear() + 1900; \n"); sb.append(" var month = today.getMonth() < 9 ? \"0\" + ( today.getMonth() + 1) : (today.getMonth() + 1); \n"); sb.append(" var day = today.getDate() < 10 ? \"0\" + today.getDate() : today.getDate(); \n"); sb.append(" var hour = today.getHours() < 10 ? \"0\" + today.getHours() : today.getHours(); \n"); sb.append(" var minute = today.getMinutes() < 10 ? \"0\" + today.getMinutes() : today.getMinutes(); \n"); sb.append(" var secord = today.getSeconds() < 10 ? \"0\" + today.getSeconds() : today.getSeconds(); \n"); sb.append(" document.getElementById(_self.id).innerHTML = year + \"-\" + month + \"-\" + day + \" \" + hour + \":\" + minute + \":\" + secord;\n"); sb.append(" }, _self.skipTime); \n"); sb.append("},\n"); sb.append("stop:function() { \n"); sb.append(" var tId = this.timerId; \n"); sb.append(" if (tId) { "); sb.append(" window.clearTimeout(tId); \n"); sb.append(" } \n"); sb.append(" } \n"); sb.append(" } \n"); sb.append(String.format("var t_%s = new timer(\"%s\", %d);\n", timerId, timerId, timer)); sb.append(String.format("t_%s.start();\n", timerId)); sb.append("</script>\n"); return sb.toString(); }}
[img]http://dl.iteye.com/upload/attachment/176046/85708209-4253-3694-83b5-edcfc597f17d.bmp[/img]
java 标签的制作相关推荐
- 常用的6款Java开源报表制作工具
本文为大家推荐6款常用的Java开源报表制作工具,供开发者学习.参考. 1.Aspose.Cells for JasperReports 一个基于Java的开源报表工具,它可以在Java环境下像其他I ...
- java 开源 报表_6款常用的Java开源报表制作工具
原标题:6款常用的Java开源报表制作工具 1. Aspose.Cells for JasperReports是一个基于Java的开源报表工具,它可以在Java环境下像其他IDE报表工具一样来制作报表 ...
- html range关联文本框,HTML5gt;meter标签与input(type=range)标签结合制作简易范围指示器...
HTML5>meter标签与input(type=range)标签结合制作简易范围指示器 发布时间:2020-03-26 15:41 很多时候我们能看到这样的表示范围的优化工具,能给人带来很好的 ...
- java标签用法详解_介绍一个javaWeb自定义标签的用法详解
这篇文章主要介绍了javaWeb自定义标签用法,结合实例形式分析了javaweb自定义标签的功能.定义方法及执行原理,需要的朋友可以参考下 本文实例讲述了javaWeb自定义标签用法.分享给大家供大家 ...
- Docker Java程序镜像制作
Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...
- java斗地主程序制作过程
java斗地主程序制作过程 效果 项目概况 代码分布 效果 项目概况 代码分布 首先对卡牌进行编写 package com;import java.awt.Point; import java.awt ...
- table标签,制作表格注册表
table标签,制作表格注册表 今天复习了一下html,发现在表格,表单这一方面还是不够熟练,所以写了这篇文章,以便复查. 首先,来看看要做成的注册表: 性格测试表,一键生成你的性格表 这里我用标题标 ...
- java操作pdf制作电子签章
#java操作pdf制作电子签章 ##电子签章简介 电子签章,与我们所使用的数字证书一样,是用来做为身份验证的一种手段,泛指所有以电子形式存在,依附在电子文件并与其逻辑关联,可用以辨识电子文件签署者身 ...
- Java安装程序制作工具
Java安装程序制作工具 IzPack 是一个 Java 安装程序制作工具,能够制作一些简单的安装程序.制作出来的安装程序能在 Unix-like, MacOS X, Windows 等系统平台上运行 ...
- 一键安装,双击运行——Java安装程序制作
如果您喜欢这些文章,欢迎点击此处订阅本Blog <script type="text/javascript"></script> <script sr ...
最新文章
- IDEA 格式化代码Reform Code快捷键无效
- 题目1132:与7无关的数
- js实现Form表单submit提交截获数据(各浏览器通用)
- Py之Kivy:Python库之Kivy的简介、安装、使用方法之详细攻略
- mysql 重启io线程_MySQL IO线程及相关参数调优
- Linq to SQL只支持SQL Server(所选对象使用不支持的数据提供程序)
- ubuntu下面使用clion
- shrio的rememberMe不起作用
- 扩展欧几里得exgcd算法 acm寒假集训日记22/1/12
- yolo系列外文翻译_Yolo系列其三:Yolo_v3
- 多线程的那点儿事(之生产者-消费者)
- 信贷风控必知必会:逾期相关的知识点总结
- 华为云发布 GaussDB(DWS) 实时数仓,技术创新释放行业数据价值
- java 相关最新技术_你必须掌握的 21 个 Java 核心技术!
- 产品设计体会(五五)
- 雷军:《我十年的程序员生涯》系列之一:我的程序人生路
- python多线程爬取美图录网站图集按模特姓名存储到本地(一)
- 软件语音验证码webservice_明明发送了却迟迟收不到短信验证码?
- k8s cm ( ConfigMap ) 学习
- mysql数据库DBA题型问题解答