本文在jsp中以自定义标签获取当前时间为例。
- java代码,这里获取时间,继承TagSupport
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.jsp.tagext.TagSupport;
public class DateTimeJSTL extends TagSupport {
private static final long serialVersionUID = 1L;
public int doStartTag(){
try {
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time=sdf.format(new Date());
pageContext.getOut().print(time);
} catch (Exception e) {
e.printStackTrace();
}
return EVAL_BODY_INCLUDE;
}
public int doEndTag(){
return EVAL_BODY_INCLUDE;
}
}
2.新建jstl.tld文件,指定上面Java代码路径,我这里将jstl.tld放在WEB-INF下。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>bobo</short-name> <!-- 默认前缀名称 -->
<uri>http://www.bobo.com</uri> <!-- 指定标签库的uri -->
<!-- 获取时间 -->
<tag>
<name>dateTime</name>
<tag-class>cy.component.jstl.DateTimeJSTL</tag-class><!-- 指定1中java路径 -->
<body-content>empty</body-content>
</tag>
</taglib>
3,在web.xml中配置
<!-- my EL -->
<jsp-config>
<taglib>
<taglib-uri>http://www.bobo.com</taglib-uri>
<taglib-location>jstl.tld</taglib-location><!--指定jstl.tld文件的路径,我放在WEB-INF下 -->
</taglib>
</jsp-config>
4.jsp中引入标签库
<%@ taglib prefix="bobo" uri="http://www.bobo.com" %> <!--prefix="bobo"是jstl.tld的前缀,uri标签库-->
5.jsp中定义标签,显示当前时间
<bobo:dateTime/>