首页 > 代码库 > Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示
Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示
本例以将 字符串格式的时间转成指定的时间格式显示。
第一步、定义一个标签处理程序类,需要集成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 =http://www.mamicode.com/ 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>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。