天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

jsp 自定義標簽實例

分三步:
一、在WEB-INF 下建一個名為tlds的文件夾,再建一個tld文件,如 formatTime.tld,內容為:
復制代碼 代碼如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://Java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>ntuc</shortname>
<tag>
<name>formatTimeAsString</name>
<tagclass>com.ufinity.taglibTest.FormatTimeTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>timestamp</name>
</attribute>
<attribute>
<name>format</name>
</attribute>
<attribute>
<name>showTH</name>
</attribute>
<attribute>
<name>style</name>
</attribute>
</tag>
</taglib>

二、建一個class,內容為:
復制代碼 代碼如下:
package com.ufinity.taglibTest;
import Java.io.IOException;
import Java.text.DateFormat;
import Java.text.ParseException;
import Java.text.SimpleDateFormat;
import Java.util.Calendar;
import Java.util.Date;
import Java.util.Locale;
import Javax.servlet.jsp.tagext.TagSupport;
/**
* Description of the class
*
* @author Wangqy
* @version 1.0
* @since 2009-8-25
*/
public class FormatTimeTag extends TagSupport {
/**
* serialVersionUID long
*/
private static final long serialVersionUID = 8757501937718830491L;
private String timestamp;
private String format;
private String showTH;
private String style;
public int doEndTag()
{
try
{
String info = this.convertDateTime(timestamp, format, Boolean.parseBoolean(showTH), style);
pageContext.getOut().println(info);
}
catch (IOException e) {
}
return EVAL_PAGE;
}
private String convertDateTime(String dateTime, String formater, boolean showTH, String caseStyle) {
String timePosted = null;
SimpleDateFormat dateFm = null;
DateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Date formatTime = null;
try {
formatTime = format.parse(dateTime);
} catch (ParseException e) {
return null;
}
Calendar calendar = Calendar.getInstance();
calendar.setTime(formatTime);
if (showTH) {
int day = calendar.get(Calendar.DAY_OF_MONTH);
String daySuffix = "th";
if ((day % 10) == 1) {
daySuffix = ((day / 10) == 1) ? "th" : "st";
} else if ((day % 10) == 2) {
daySuffix = (day == 12) ? "th" : "nd";
} else if ((day % 10) == 3) {
daySuffix = (day == 13) ? "th" : "rd";
}
formater = formater.substring(0, formater.indexOf(" ")) + "'"
+ daySuffix + "'"
+ formater.substring(formater.indexOf(" "));
dateFm = new SimpleDateFormat(formater, Locale.ENGLISH);
} else {
dateFm = new SimpleDateFormat(formater, Locale.ENGLISH);
}
timePosted = dateFm.format(formatTime);
if (caseStyle.equals("Upper")) {
timePosted = timePosted.toUpperCase();
} else if (caseStyle.equals("Lower")) {
timePosted = timePosted.toLowerCase();
}
return timePosted;
}
public void setFormat(String format) {
this.format = format;
}
public void setShowTH(String showTH) {
this.showTH = showTH;
}
public void setStyle(String style) {
this.style = style;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}

三、建個jsp頁面測試下:
復制代碼 代碼如下:
<%@ page language="Java" pageEncoding="utf-8"%>
<%@ taglib uri="WEB-INF/tlds/formatTime.tld" prefix="tf" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自定義標簽示例</title>
</head>
<body>
<p>
轉換“20090403132233”
</p>
format:dd MMMM yyyy showTH:true style:Upper 轉換后為:<tf:formatTimeAsString timestamp="20090403132233" format="dd MMMM yyyy" showTH="true" style="Upper"/><br/>
format:dd MMMM yyyy showTH:true style:Lower 轉換后為:<tf:formatTimeAsString timestamp="20090403132233" format="dd MMMM yyyy" showTH="true" style="Lower"/><br/>
format:dd MMMM yyyy showTH:false style:Upper 轉換后為:<tf:formatTimeAsString timestamp="20090403132233" format="dd MMMM yyyy" showTH="false" style="Upper"/><br/>
format:dd MMMM yyyy showTH:true style:"" 轉換后為:<tf:formatTimeAsString timestamp="20090403132233" format="dd MMMM yyyy" showTH="true" style=""/><br/>
</body>
</html>

ok了。這里timestamp是一個給定值,如果是通過${}標簽動態取的話,需要將tld文件的
復制代碼 代碼如下:
<attribute>
<name>timestamp</name>
</attribute>

修改為
復制代碼 代碼如下:
<attribute>
<name>timestamp</name>
<rtexprvalue>true</rtexprvalue>
</attribute>

jsp技術jsp 自定義標簽實例,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人a毛片久久免费播放 | 麻豆高潮AV久久久久久久 | 九九热视频免费 | writeas雷狮直播 | 国产成人精品123区免费视频 | 达达兔午夜一级毛片 | 快播金瓶梅 | 古代又黄又肉到湿的爽文 | 伊人青青草 | 久久青青草视频在线观 | 亚洲三级在线中文字幕 | 精品国产露脸久久AV麻豆 | 六度影院最新 | 麻豆蜜桃国语精品无码视频 | 欧美精品乱码99久久蜜桃 | 在线成 人av影院 | 草莓视频免费看 | 99re6久久热在线播放 | 苍井空教师BD在线观看全集 | 国产在线高清视频 | 美女强奷到抽搐在线播放 | 换脸国产AV一区二区三区 | 性一交一乱一色一视频 | 无码不卡中文字幕在线观看 | 国产精品无码视频一区二区 | 中文字幕AV亚洲精品影视 | 免费精品美女久久久久久久久 | 亚洲欧美综合中文字幕 | 久久视频在线视频观看天天看视频 | 国产九九熟女在线视频 | 国产在线观看网址你懂得 | 亚洲欧洲日韩视频在钱 | 亚洲精品乱码久久久久久中文字幕 | 免费一级特黄欧美大片久久网 | 欧美另类老少配hd | 拔萝卜电视剧高清免费 | 稚嫩挤奶h调教h | 先锋影音av资源站av | 男人吃奶摸下弄进去好爽 | 99在线观看精品 | 亚洲精品视频免费观看 |