zoukankan      html  css  js  c++  java
  • jsp中 自定义 tag的几种方式

    在jsp文件中,可以引用tag和tld文件。
    1.对于tag文件,使用tagdir引用(这个直接是引用的后缀tag文件的jsp文件)
    <%@ taglib prefix="ui" tagdir="/WEB-INF/tags" %>
    其中的tags是个目录,里面有若干tag文件。
    但使用<ti:XXXX>时,目录WEB-INF/tags下,必然有个XXXX.tag文件与之对应。

    其实这里直接引tag文件就像include一个jsp文件,可以写java代码,可以写html标签,可以写js,用el标签直接对应属性名${属性名}


     
    2.对于tld文件(这个可以自定义两种,不过都是通过Class类扩展的,可以定义的两种为function和tag,function是el表达式${}扩展的,tag是跟上面一样<xxx:xxx>这种格式)

    2.1基于tld的自定义fucntion 参考 jsp tld的function 自定义方法扩展

    2.2基于tld自定义的tag java代码端参考 jsp tld 的tag 自定义标签扩展

    在jsp中可以引用TLD文件,引用的查找方式:
    1.直接指向一个文件,当然就不用照抄了
    2.直接指向一串url(其实就是找jar下面的web-inf)
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    但是这个http://java.sun.com/jsp/jstl/core对应着什么呢?
    jsp会在当前目录的WEB-INF下找所有tld文件
    当找到某一个.tld文件时,发现tld中的

    1. <description>JSTL 1.1 core library</description>
    2. <display-name>JSTL core</display-name>
    3. <tlib-version>1.1</tlib-version>
    4. <short-name>c</short-name>
    5. <uri>http://java.sun.com/jsp/jstl/core</uri>


    其中的uri与这个引入URL对应,则引用的就是这个tld。
    但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。



    以上在打包jar的META-INF木木的查找方式是一样的

     
    还有一种更保险的方法是,在WEB-INF/web.xml中加上
    <taglib>
        <taglib-uri>
    http://jakarta.apache.org/tomcat/examples-taglib
        </taglib-uri>
        <taglib-location>
           /WEB-INF/jsp/example-taglib.tld
        </taglib-location>
    </taglib>
    这样表示http://jakarta.apache.org/tomcat/examples-taglib对应着/WEB-INF/jsp/example-taglib.tld
     
    ps:tag和tld文件最好放在(WAR包)WEB-INF或者(jar包)META-INF根目录或子目录下,最好以tags或者tlds文件名命名,至于不放在以上目录没测试过
    关于在打包jar的时候怎么放进META-INF目录而且不被自动build的覆盖
    1.解压jar手动丢进去
    2.maven配置待续


    tag文件作用一般是一段小代码,类似include文件的作用。(直接的一个tag文件,直接当成引一个jsp就可以了,只是开头多了一些属性定义和动态获取属性的特性 )
    tld文件(自定义function和自定义tag java端)作用比较复杂,可以实现很多高级的作用。

  • 相关阅读:
    Java编程规范
    java 编程军规
    数据库编程军规条例
    过滤重复记录(因为关联扩展表)
    根据子部门获取其到根部门的路径
    (原创)defparam的应用(Verilog,CPLD/FPGA)
    (原创)学习MCU的感悟_初级(MCU,经验)
    (原创)基于FPGA的调光流水灯(Verilog,CPLD/FPGA)
    (原创)基于MCU的频率可调,占空比可调的PWM实现(MCU,MCS-51/MSP430)
    (原创)动物照的情感与角度拍摄(摄影,欣赏)
  • 原文地址:https://www.cnblogs.com/signheart/p/66409e0db514ed0071e03b1430eba018.html
Copyright © 2011-2022 走看看