JSTL自定义标签

4 篇文章 0 订阅
1 篇文章 0 订阅

1、引入jstl依赖:

<dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

2、创建Java类继承SimpleTagSupport:

public class DateTag extends SimpleTagSupport {
	private String pattern;
	
	public String getPattern() {
		return pattern;
	}
	public void setPattern(String pattern) {
		this.pattern = pattern;
	}
	@Override
	public void doTag() throws JspException, IOException {
        /*
		 * 可以通过继承自SimpleTagSupport类提供的方法来获得pageContext
		 * pageContext提供了获得其他所有隐含对象的方法
		 */
		PageContext pc = (PageContext) getJspContext();
		JspWriter out = pc.getOut();
		out.println(new SimpleDateFormat(pattern).format(new Date()));
	}
}

3、编写标签文件:

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">
    <description>JSTL 1.1 core library</description><!-- 描述 -->
    <display-name>JSTL core</display-name><!-- 描述 -->
    <tlib-version>1.1</tlib-version><!-- 版本 -->
    <short-name>d</short-name><!-- 前缀,也叫短名称 -->
  <uri>dateTag</uri><!-- 命名空间,必须和jsp文件上的一致 -->
  <tag><!-- 标签 -->
    <description>******</description><!-- 标签描述 -->
    <name>date</name><!-- 标签名 -->
    <tag-class>tag.DateTag</tag-class><!-- 此标签对应的java类,必须全限定名 -->
    <body-content>empty</body-content><!-- 没有标签体,标签内部结束 -->
    <attribute><!-- 标签属性 -->
        <description>******</description><!-- 属性描述 -->
        <name>pattern</name><!-- 属性名 -->
        <required>true</required><!-- true表示该属性必选,false表示该属性可选 -->
        <rtexprvalue>false</rtexprvalue><!-- true表示该属性可以动态赋值(使用el表达式赋值),false表示该属性不可以动态赋值 -->
    </attribute>
  </tag>
</taglib>

4、JSP使用标签:

<%@taglib uri="dateTag" prefix="d"%>
<d:date pattern="yyyy年MM月dd日"/>
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值