本例以将 字符串格式的时间转成指定的时间格式显示。

第一步、定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下:

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar; import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
/**
* 自定义的时间处理标签
*
*/
public class JSTLDateTag extends TagSupport {
/**
*
*/
private static final long serialVersionUID = -8683014812426654300L;
private String value;//对应jstl表达式中的value值
private String parttern;//对应表达式中的partern指定的时间格式 public int doStartTag() throws JspException {
String vv = String.valueOf(value);
long time = Long.valueOf(vv);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(time);
SimpleDateFormat dateformat = new SimpleDateFormat(parttern);
String s = dateformat.format(c.getTime());
try {
pageContext.getOut().write(s);
} catch (IOException e) {
e.printStackTrace();
}
return super.doStartTag();
} public String getValue() {
return value;
} public void setValue(String value) {
this.value = value;
} public String getParttern() {
return parttern;
} public void setParttern(String parttern) {
this.parttern = parttern;
} }

第二步、编写一个tld格式的文件。(格式类似于xml格式的文件)如下:dateformat.tld

<?xml version="1.0" encoding="UTF-8"?>
<taglib>
<tlib-version>1.1</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>date</short-name> <tag>
<name>stringToDate</name>
<tag-class>com.xxx.JSTLDateTag</tag-class><!-- 刚才写的那个标签处理类-->
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>parttern</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>

 第三步、在web.xml中加入配置,找到web.xml中的<jsp-config>节点加入<taglib>配置,代码如下:

    <jsp-config>
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
<!-- 自定义JSTL时间格式化 -->
<taglib>
<taglib-uri>/datetag</taglib-uri> <!-- 注意这里的 '/datetag',下面就要用到 -->
<taglib-location>/WEB-INF/tld/dateformat.tld</taglib-location>
</taglib>
</jsp-config>

第四步、在jsp页面中使用自定义标签,如下

<%@ taglib uri="/datetag" prefix="fmtDate"%>

<fmtDate:stringToDate parttern="yyyy-MM-dd HH:mm:ss" value="${hotContent.createDate}"></fmtDate:stringToDate>

Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示的更多相关文章

  1. freemarker字符串转换成日期和时间

    freemarker字符串转换成日期和时间 1.日期时间转换总结 (1)date用来转换为日期 (2)time用来转换为时间 (3)datetime用来转换为日期和时间 2.展示演示样例 <#- ...

  2. freemarker字符串转换成日期和时间(十三)

    freemarker字符串转换成日期和时间 1.日期时间转换总结 (1)date用来转换为日期 (2)time用来转换为时间 (3)datetime用来转换为日期和时间 2.展示示例 <#--字 ...

  3. 我的Java开发学习之旅------>工具类:将播放器的进度值转换成相应的时间格式

    在我的博客<我的Java开发学习之旅------>Java 格式化类(java.util.Formatter)基本用法,地址:http://blog.csdn.net/ouyang_pen ...

  4. 字符串转换成js的日期格式

    js字符串转日期格式 ,JavaScript字符串转日期格式 大家都知道JS是根据结果来确定数据类型的. 当然我们也是可以转化的,下面我就介绍两种关于JS字符串类型转换成日期类型的方法, 我个人比较喜 ...

  5. java将字符串转换为指定的时间格式

    *String dateString = "18:31:43";    try {     Date date = new SimpleDateFormat("HH:mm ...

  6. JAVA获取当前日期以及将字符串转成指定格式的日期

    /* * To change this template, choose Tools | Templates * and open the template in the editor. */ pac ...

  7. PHP json_decode为什么将json字符串转成数组是对象格式?

    eg. $a='[{\"img\":\"/uploads/agency/carimgs/5/15515954778091.jpg\"},{\"img\ ...

  8. Java-把日期字符串转换成另一种格式的日期字符串

    package com.example.demo.utils; import java.text.ParseException; import java.text.SimpleDateFormat; ...

  9. Java将CST的时间字符串转换成需要的日期格式字符串

    已知得到的Date类型的变量meettingdate 的值为Sun Dec 16 10:56:34 CST :现在要将它改为yyyy-MM-dd类型或yyyy年MM月dd日: 变为yyyy年MM月dd ...

随机推荐

  1. C# 线程(六):定时器

    From : http://kb.cnblogs.com/page/42532/ Timer类:设置一个定时器,定时执行用户指定的函数. 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数. ...

  2. 树--四分树(UVa297)

    郑重声明: 数据结构这部分内容, 由于博主才学很少(且很浅)的内容, 所以现在所写的(大都是抄的)一些典型例题, 再加上一些自己想法和理解而已, 等博主勤加修炼, 以后会大有补充和改进. 粗浅之处, ...

  3. redis数据库选择-select

    1.关于redis的select命令用法: SELECT index 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值. 默认使用 0 号数据库. 可用版本: > ...

  4. MongoDB 中遇到的一些错误

    1.在win平台上,使用ctrl+c关闭mongodb后,使用 mongod --dbpath=D:\mongodb\db --logpath=D:\mongodb\log.txt --port -- ...

  5. poj2451Uyuw's Concert(半平面交)

    链接 逆时针给出线段,如果模板是顺时针的修改下系数的符号进行平面交即可. #include <iostream> #include<cstdio> #include<cs ...

  6. Python学习(2)基本语法

    目录 交互式编程 脚本式编程 Python 标识符 Python保留字符 行和缩进 多行语句 Python 引号 Python注释 Python空行 python的输入和输出 命令行参数 交互式编程 ...

  7. mysql 1030 Got error 28 from storage engine

    mysql 1030 Got error 28 from storage engine 错误原因:磁盘临时空间不够. 解决办法:df -h 查看设备存储的使用情况 du -h --max-depth= ...

  8. python接口的调用方法

    第一个图灵机器人接口实例: #!/usr/bin/env python # -*- coding: utf_8 -*- import urllib2,urllib import json import ...

  9. MyEclipse8.5启动无法选择工作空间的问题

    方法一:打开Window---Preferences---General---Startup and Shutdown,勾选Prompt for workspace on startup 选项,再次登 ...

  10. Android 中Service生命周期

    使用context.startService() 启动Service 其生命周期为context.startService() ->onCreate()- >onStart()->S ...