自定义tag标签-实现long类型转换成Date类型
数据库里存储的是bigint型的时间,entity实体中存放的是long类型的标签,现在想输出到jsp页面,由于使用的是jstl标签,而要显示的是可读的时间类型,找来找去有个 fmt:formatDate可以转化,但是只能将String类型的转成date型,long型则不可以,思考了好久,又不想破环jsp页面这种标签结构,参考网上jstl标签编写方法,如下:
第一步 写一个类继承TagSupport,实现doStartTag() 方法。
package com.pp.yxx.util.tags; import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport; import com.pp.yxx.util.DateUtils; /**
* 用于页面 jstl时间格式化
*
* @Title: JSTLDateUtils.java
* @Description: 转换Long时间戳为时间格式
* @author phpdragon
* @date 2014 -3- 4 下午06:28:51
*/
public class Long2DateTag extends TagSupport { private static final long serialVersionUID = 6464168398214506236L; private String value;
private String format; @Override
public int doStartTag() throws JspException {
String s = format == null ? DateUtils.timestamp2Time(value) : DateUtils
.timestamp2Time(value, format);
try {
pageContext.getOut().write(s);
} catch (IOException e) {
e.printStackTrace();
}
return super.doStartTag();
} public void setValue(String value) {
this.value = value;
} public void setFormat(String format) {
this.format = format;
} }
第二步 编写tld文件,extendtag.tld,放在/WEB-INF目录下
<?xml version="1.0" encoding= "UTF-8"?>
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>ext</short-name>
<uri>/extendTags</uri>
<tag>
<description>
转换long型参数为时间格式
</description>
<name>long2date</name>
<tag-class>com.pp.yxx.util.tags.Long2DateTag</tag-class>
<!--如果不需要标签体则设置empty,反之设定jsp -->
<body-content>JSP</body-content>
<attribute>
<description>
需要装换的值
</description>
<name>value</name>
<!-- 是否是必须,如果非必须没设置则为空 -->
<required>true</required>
<!-- 是否可在属性中使用表达式 -->
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<description>
转换格式
</description>
<name>format</name>
<required>false</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
第三步 在web.xml中加入引用
<!-- 自定义TAG标签 -->
<jsp-config>
<taglib>
<taglib-uri>/extendTags</taglib-uri>
<!-- tld文件所在的位置 -->
<taglib-location>/WEB-INF/extendtag.tld</taglib-location>
</taglib>
</jsp-config>
第四步 在jsp页面开始使用
<%@ taglib uri="/extendTags" prefix="ext"%>
<ext:long2date value ="${publish}" format="yyyy-MM-dd HH:mm:ss" />
上述方式即可实现所述功能!
参考:http://hfutxf.iteye.com/blog/673472
自定义tag标签-实现long类型转换成Date类型的更多相关文章
- Oracle timestamp类型转换成date类型
今天需要根据时间判断,统一修改某一个字段的数据.然后打开数据库发现,时间类型为timestamp类型.如下: 然后呢,这对我不是喝口水就可以解决的问题吗? 解决方案如下:我需要改这张表某个字段的内容, ...
- java中将SimpleDateFormat类型转换成Date类型
try {String dateString = "2009-08-02 13:43:00";DateFormat df = SimpleDateFormat("yyyy ...
- Jsp 自定义tag标签
1转自:https://blog.csdn.net/yusimiao/article/details/46835617 Jsp自定义tag标签 自定义tag标签的好处 程序员可以自定一些特定功能的标记 ...
- Java String类型转换成Date日期类型
插入数据库时,存入当前日期,需要格式转换 import java.text.SimpleDateFormat; formatter = new SimpleDateFormat( "yyyy ...
- C# 字符串string类型转换成DateTime类型 或者 string转换成DateTime?(字符串转换成可空日期类型)
在c#中,string类型转换成DateTime类型是经常用到的,作为基本的知识,这里在此做个小结.一般来说可以使用多种方法进行转换,最常用的就是使用Convert.ToDateTime(string ...
- SQL Server 2008 Datetime Cast 成 Date 类型可以使用索引(转载)
很久没写blog,不是懒,实在是最近我这的访问速度不好,用firefox经常上传不了图片 ....... 今天无意发现了SQL Server 2008 Datetime Cast 成 Date 类型可 ...
- java中,字符串类型的时间数据怎样转换成date类型。
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...
- sqlserver搜索中怎么把varchar类型转换成numeric类型
sqlserver搜索中怎么把varchar类型转换成numeric类型 可以用cast来转换 如:列名叫grade,表名为A select cast(grade as numeric(y,x)) f ...
- Mysql一个非常有用的内置函数今天碰到要把MySQL数据库中的varchar转换成date类型进
Mysql一个非常有用的内置函数 今天碰到要把MySQL数据库中的varchar转换成date类型进行时间的比较和查询.在网上找了找,发现MySQL也跟其他数据库一样有自己内置的转换函数:str_to ...
随机推荐
- mysql ACID与四种隔离级别归纳总结
关于数据库的ACID特性已经有很多的介绍,这里再重新归纳总结一下: A(atomicity)原子性: 即事务要么全部做完,要么全部不做,不会出现只做一部分的情形,如A给B转帐,不会出现A的钱少了, ...
- 虚拟机安装以及PCL的配置(1)
安装虚拟机 (1) 下载VMware安装(自己百度一下,会有很多可供下载的) (2) 安装方式: 双击,一路点击next,不用更改安装路径(当然你也可以更改),选择安装“典型”即可 接着就有安 ...
- 【Java集合源码剖析】Hashtable源码剖析
转载出处:http://blog.csdn.net/ns_code/article/details/36191279 Hashtable简介 Hashtable同样是基于哈希表实现的,同样每个元素是一 ...
- jquery easyui toolbar 分割线问题
http://bbs.csdn.net/topics/390507228 —————————————————————————————————— 将“<div class="datagr ...
- css3常用动画样式文件move.css
move.css zoomIn zoomInDownouter-circlearrowTop expandOpen fadeIn fadeInNormal fadeInUp fadeInRi ...
- r语言 工作空间内的对象
objects.size() objects() 脚本举例 #将以下代码粘贴到编辑器中,另存为regression.r文件. rate<-c(20, 22, 24, 26, 28, 30, 32 ...
- android下通过app名字打开程序(activity)链接
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00004599 1.手机遥控器模拟快捷键启动app 刚开 ...
- Android N: jack server failed
在服务器上编译Android N.出现如下错误. Android N 编译时会使用到 jack server,同一台服务器上,各个用户都需要为 jack server 指定不同的端口,否则会产生端口冲 ...
- JDBC删除表实例
在本教程将演示如何在JDBC应用程序中删除一个数据库表. 在执行以下示例之前,请确保您已经准备好以下操作: 具有数据库管理员权限,以在给定模式中删除数据库表. 要执行以下示例,需要用实际用户名和密码替 ...
- webstorm 重置所有设置
我的是win10的,删除如下路径的文件夹C:\Users\XXX(你自己电脑用户名)\.IntelliJIdeaxxxx(版本号) 这是最快捷的方法