java 标签的制作
生活随笔
收集整理的這篇文章主要介紹了
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]
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 标签的制作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: U盘文件或目录损坏且无法读取怎么解决
- 下一篇: 计算机专业博士发论文,计算机专业博士论文