jstl有很多时间格式化的标签,但貌似只是支持date型的,更多的我也没去细搜,不过貌似就是不支持long型,其实long型对我们也是很有
用的,比如说按时间排序、、很方便是不是、 在jstl里就比较麻烦了,好在jstl可以写自定义标签,写这篇文章的目的其实也不只是介绍这个
long型时间格式化问题,主要还是怎么写自定义标签.
package com.controller.touch;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;
/**
* 用于页面jstl时间格式化
* @author jiangnan
*
*/
public class JSTLDateUtils extends TagSupport {
/**
*
*/
private static final long serialVersionUID = -3354015192721342312L;
private String value;
public void setValue(String value) {
this.value = value;
}
private String parttern;
public void setValue(String parttern ) {
this.value = parttern ;
}
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 static void main(String[] args) {
long a =1332744845078l;
long time = Long.valueOf(a);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(time);
SimpleDateFormat dateformat =new SimpleDateFormat("MM-dd HH:mm");
String s = dateformat.format(c.getTime());
System.out.println(s);
}
}
在web.xml 中要添加这些东西:
<!-- 自定义JSTL时间格式化 -->
<jsp-config>
<taglib>
<taglib-uri>/tags</taglib-uri>
<taglib-location>/WEB-INF/datetag.tld</taglib-location>
</taglib>
</jsp-config>
datetag.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>//这里说明一下,开始我也没加这个东西,但是发现resin疯狂的报错啊,后来才发现resin对tld文件做严格语法检查,所以一定要加上这个
<tag>
<name>date</name>
<tag-class>com.controller.touch.JSTLDateUtils</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>
最后jsp中就可以使用如下标签进行写代码了
<date:date value="${time}" pattern="yyyy-MM-dd HH:mm:ss"/>
别忘记在页头加上引用 <%@ taglib uri="/tags" prefix="date"%> 否则会报错哦
如果想使用多个自定义的标签可以编写多个类,然后再tld中进行添加对用的tag就可以啦
分享到:
相关推荐
自己做的一个小例子,实现JSTL自定义标签。功能:输入x和y,点击按钮后循环输出y次x。
JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...
jstl 自定义标签 int转换为时间格式
这次整理自定义标签主要是项目的需要,要将一些写死的url信息配置于配置文件中,这样发版的时候改动起来相当方便
JSTL 开发自定义标签使用的jar jstl.jar standard.jar
jstl自定义标签和函数思维导图
NULL 博文链接:https://zhouxianglh.iteye.com/blog/858182
这个压缩包里有我在学习JSTL自定义标签时写的一些自定义标签实例,如果你也在学JavaWeb技术,那么我相信这些源码会对你有帮助的
jh-plugins是一项基于JSTL的自定义标签(插件)库,致力于打造一处实现、任何项目通用的开源项目。 jh-plugins已实现标签库:分页 jh-plugins特点:高效、轻巧、简单、适用(可融合与任何B/S架构的java项目) jh-...
JavaWeb-12:自定义标签库开发&JSTL标签库
jstl所有标签库sql、xml、core、fmt、functions所有标签的详细运用的代码示例。
EL、JSTL、自定义标签、过滤器的ppt
自己写的自定义标签库,实现JSTL常用的功能。
因为一些程序员使用不支持异常处理语言编程时,往往拖延或忘记错误处理程序的编写,故,Java强制程序员从项目一开始就着手进行异常处理,程序员必须投入很大精力把异常处理的策略融合到软件产品中<BR>11、 ...
JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签JSTL标签
<c:if> <c:if>的用途就和我们一般在程序中用的if一样。 语法 语法1:没有本体内容(body) <c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/... 类 型 必 须 默认值
本资源代码中包含jstl的标签库定义以及自定义EL标签使用的详细说明,参见压缩文件中说明即可,欢迎各位技术员下载参考及使用
JSTL标签大全,涵盖JSTL教程 JSTL标签库使用方法: 标签库 URI 前缀 使用模式 核心标签库 http://java.sun.com/jstl/core c <c:tagname…> 国际化标签(I18N) ...
JSTL标签库的使用是为类弥补html表的不足,规范自定义标签的使用而诞生的。在告别modle1模式开发应用程序后,人们开始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同时也由于自定义标签的开发难度较大...
jsp、jstl自定义标签实现的分页,实现的还是比较好的,没有在request、session等范围保存过数据,在pageContext范围内保存过集合的数据, 实现的方法还是比较简单的,适用性还是比较广的,我是实在是没分了,平时也...