自定义标签笔记

一、自定义标签,步骤
    * 确定需求
        * <my:date />  输出当前系统的时间  yyyy-MM-dd hh:mm:ss:SSS
    * 编写Java类
        * 只要与此接口有关的实现类,javax.servlet.jsp.tagext.JspTag
        * 需要实现具体的接口
            * javax.servlet.jsp.tagext.SimpleTag,简单标签,JSP2.0**
            * javax.servlet.jsp.tagext.Tag,经典标签
    * 编写tld文件
        * tld文件是xml文档
        * 扩展名为*.tld
        * 位置:必须放置到WEB-INF目录下
        * 内容:
                <!-- 确定当前标签库的版本 -->
                <tlib-version>1.0</tlib-version>
                <!-- 建议引入当前便签库是,使用的简写   @taglib prefix="my" -->
                <short-name>my</short-name>
                <!-- 为当前标签库配置文件,起一个名称
                    * 内容:自定义,全球唯一
                 -->
                <uri>http://www.itcast.cn/jsp/mytag</uri>
                
                <!-- <my:date / >  注册标签 -->
                <tag>
                    <!-- 确定标签名称 -->
                    <name>date</name>
                    <!-- 确定实现类 -->
                    <tag-class>cn.itcast.tag.MyDateTag</tag-class>
                    <!-- 格式化当前标签的body内容
                        * empty:当前标签没有标签体
                     -->
                    <body-content>empty</body-content>
                
                </tag>
    * 配置tld文件(可选)
    * 在JSP页面引入
        * <%@ taglib uri="http://www.itcast.cn/jsp/mytag" prefix="my"%>
    * 测试
        * <my:date />
        
二、案例
    * 需求:<my:maxVal num1="12" num2="13" />
    * 需求:<my:readFile file="/" />
    * 需求:<my:toUpperCase>xxYYdfsdDFwerd</my:toUpperCase>
    * 需求:循环
    
三、自定义函数
    * 创建类,但方法必须是静态的
        public static void calculator(Calculator cal){
    * 书写配置文件tld
        <!-- 确定当前函数   myfn:calculator(cal)-->
        <function>
            <name>calculator</name>
            <function-class>cn.itcast.domain.Calculator</function-class>
            <!-- 当前使用函数的声明  public static void calculator(Calculator cal)-->
            <function-signature>void calculator(cn.itcast.domain.Calculator)</function-signature>
        </function>
    * 引用
        * <%@ taglib uri="http://www.itcast.cn/mytag/functions" prefix="myfn" %>
    * 测试
        * ${myfn:calculator(cal)}
        
四、总结
    * 共同点:
        * 需要引入
            * <%@ taglib uri="http://www.itcast.cn/mytag/myeach" prefix="my" %>
        * 都需要配置tld文件
    * 区别:
        * 自定义标签
            * 创建一个类,完成一个功能或一组功能。
            * 可以选择el表达式
        * 自定义函数
            * 创建一个静态方法,完成一个操作。
            * 必须与EL表单是结合使用
                ${fn:xxxx}
    
    
    
    
    
    
    
    
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值