当前位置:  编程技术>java/j2ee

jsp 自定义标签实例

    来源: 互联网  发布时间:2014-10-17

    本文导语:  分三步: 一、在WEB-INF 下建一个名为tlds的文件夹,再建一个tld文件,如 formatTime.tld,内容为: 代码如下: 1.0 1.1 ntuc formatTimeAsString com.ufinity.taglibTest.FormatTimeTag empty timestamp format showTH style 二、建一个class,内容为: ...

分三步:
一、在WEB-INF 下建一个名为tlds的文件夹,再建一个tld文件,如 formatTime.tld,内容为:
代码如下:




1.0
1.1
ntuc

formatTimeAsString
com.ufinity.taglibTest.FormatTimeTag
empty

timestamp


format


showTH


style




二、建一个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页面测试下:
代码如下:






自定义标签示例



转换“20090403132233”


format:dd MMMM yyyy showTH:true style:Upper 转换后为:

format:dd MMMM yyyy showTH:true style:Lower 转换后为:

format:dd MMMM yyyy showTH:false style:Upper 转换后为:

format:dd MMMM yyyy showTH:true style:"" 转换后为:




ok了。这里timestamp是一个给定值,如果是通过${}标签动态取的话,需要将tld文件的
代码如下:


timestamp


修改为
代码如下:


timestamp
true


    
 
 

您可能感兴趣的文章:

  • ******"Servlet根据JSP视图的需求生成JavaBeans的实例并输出给JSP环境"如何实现上面这句话的效果??*******
  • jsp实例??
  • 如何向JSP中传送Sevrlet的实例?
  • 请问那有《UltraDev 4 JSP/XML 高级实例教程》下载?
  • 系统参数???and后台管理实例???and JSP???
  • JSP 重置按钮清空传入的表单数据实例
  • 在JSP中如何实例化构造函数有参数的JavaBean?
  • jsp重定向地址栏不改变的实例
  • JSP读取文件实例
  • jsp源码实例1(输出)
  • jsp源码实例3(获取jsp各种参数)
  • jsp源码实例4(搜索引擎)
  • jsp源码实例2(获取表单参数)
  • JSP forward用法分析实例代码分析
  • jsp中使用javabean实例介绍
  • unix/linux知识 iis7站长之家
  • JSP 自定义标签之一 简单实例
  • JSP发送邮件实例
  • 基于JSP 自定义标签使用实例介绍
  • 如何输出org.jdom.Document实例到JSP页面上?
  • 有谁说说jsp中的变量与函数定义
  • 关于bean和jsp预定义中的小问题
  • jsp中怎样定义全局变量
  • 在写自定义标签时,如何得到引用当前标签的jsp文件名呢?
  • JSP页面中能定义文件输出流变量吗?
  • JSP教程(三)--JSP中”预定义变量”的使用
  • 请问在jsp中是不是不允许有自定义的函数呀?
  • 请问JSP中如何调用自己定义的类包?谢谢!
  • 高分求助关于jsp自定义函数的问题
  • 在JSP中多维数组如何定义,初始化?救命呀!
  • JSP怎么定义日期变量并赋值
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 使用JSP扩展标签,可否从标签内得到一个输出参数?
  • JSP表格标签库 WebJMX
  • 请高手指点,怎样学习JSP标签库,一定给分,不够在加!
  • JSP标签库 Coldtags
  • JSP 标签库集合 Taglibs
  • Google地图JSP标签库
  • JSP 标准标签库 JSTL
  • JSP标签 Noka Tag
  • JSP标签库 AjaxTags
  • JSP加密标签库 JCE taglib
  • 如何在html标签的属性里引用一个jsp变量
  • jsp 常用标签的使用
  • 简单!如果网页的内容为HTML标签和JAVASCRIPT代码,那应该将该文件保存为.jsp还是
  • JSP分页标签库 Pager Tag Library
  • JSP分页标签库 Pager-taglib
  • 在编译使用扩展标签的java文件时,得到package javax.servlet.jsp does not exist,package javax.servlet.jsp does not exist的错误
  • JSP表格标签库 eXtremeTable
  • jsp页面中如何将时间戳字符串格式化为时间标签
  • (在线)高分求解:Jdk1.3找不到javax.servlet.jsp.*包,编译不了标签库文件。
  • ExtJS的JSP标签库 ExtTag
  • JSP中清空cookie代码参考
  • 现有1.jsp、2.jsp、3.jsp三个文件,我怎么在3.jsp文件中得到1.jsp中输入的值?
  • 一个框界网爷包含上下两个网页a1.jsp和a2.jsp,怎么实现a1.jsp自身不变且提交数据到下面的a2.jsp呢?不胜感激,急..
  • 请问jsp和serlet之间怎么通讯,jsp和jsp之间呢?
  • 请问<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别
  • response.sendRedirect("index.jsp") 和 <jsp:forward page="index.jsp"/>的区别?
  • 想把一个jsp转到另一个jsp页面,要穿参数,中文的(jsp变量)。谁教教我?!
  • aaa.jsp有如下链接,当单击该链接时将id值传递给bbb.jsp,怎样在bbb.jsp中引用这个id值?
  • jsp+bean还是jsp+ejb还是jsp+servlet还是asp+activex好?
  • 谁能告诉我,怎么调试jsp程序呀!我在jsp中调用java,但是Tomcat这家伙只会给我报jsp文件出错。这可怎么办呀?
  • jsp中如何获得当前jsp文件所在的目录,用request.getServletPath()得到的路径含有jsp文件名,有没有办法得到目录(不含文件名)?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3