http://blog.csdn.net/hongweigg/article/details/12006849

JSP标签有两种实现方法,一种是使用tag 文件,一种是使用tld文件。

1、使用tag文件

标签名和tag文件名一致, tag文件为JSP文件,可以有属性,把JSP页面当JavaBean文件一样使用。

例子:

1)WEB-INF/lib下放置TAG文件:MyTag.tag,那么就有了一个名为MyTag的标签:

  1. <%@ tag pageEncoding="UTF-8" %>
  2. <%@ attribute name="id" required="true" rtexprvalue="true" %>
  3. <%@ attribute name="webletID" required="true" rtexprvalue="true" %>
  4. <B>JSP TAG ATTRIBUTE GET<B>
  5. <div id="<%=getId() %>" style="border:solid 1px #ff0000">
  6. Here, got the attribute value by get method:<%=getWebletID() %>
  7. <br>Got the attribute value by variable:<%=webletID %>
  8. </div>
  9. <script>
  10. </script>
  11. <br>

可定义属性attribute,有变量名(name),是否必需(required)等属性,相当于定义一个JavaBean的属性。在使用属性的值时,可通过get方法来访问或通过变量名的方式来访问。

2)创建引用标签的JSP文件test.jsp,放置于Web目录下,如何WEB-INF同级目录

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib prefix="mx" tagdir="/WEB-INF/tags"%>
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
  6. <title>Tag test</title>
  7. </head>
  8. <body>
  9. <h1>Tag Test is ok!</h1>
  10. <mx:MyTag id="Weblet1" webletID="W1001"/>
  11. </body>
  12. </html>

在定义好属性后,就可在TAG被引用时,接受传入参数。标签TAG的属性id,webletID。

3)访问test.jsp,效果如下:

JSP TAG ATTRIBUTE GET

Here, got the attribute value by get method:W1001 
Got the attribute value by variable:W1001

2、使用tld文件

tld为XML格式文件,在其中描述标签组件的类和属性等。

方法1的使用比较直接简单,修改标签直接修改JSP文件即可;方法2使用定义方式来描述标签,修改标签需要修改tld描述文件和对应的class文件。

参考:

JSP中的TAG文件和TLD文件小结

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

2.对于tld文件 
在jsp中可以引用TLD文件,如 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
但是这个http://struts.apache.org/tags-html对应着什么呢?
jsp会在当前目录的\WEB-INF下找所有tld文件,确认这个URL对应哪个TLD文件。 
当找到struts-html.tld文件时,发现其中的内与这个URL对应。 
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。

还有一种更保险的方法是,在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

tag文件作用一般是一段小代码,类似include文件的作用。 
tld文件作用比较复杂,可以实现很多高级的作用。

JSP中的TAG的更多相关文章

  1. JSP 中的 tag 文件

    在jsp文件中,可以引用 tag 和tld 文件,本文主要针对 tag 对于tag 文件 1)将此类文件放在 WEB-INF 下,比如 /WEB-INF/tags,tags 是目录,其下可以有多个.t ...

  2. jsp中的tag与tld

    转载自: http://www.cnblogs.com/fanzi2009/archive/2010/04/08/1707888.html 在jsp文件中,可以引用tag和tld文件.  1.对于ta ...

  3. JSP中的TAG文件和TLD文件小结

    在jsp文件中,可以引用tag和tld文件. 1.对于tag文件 <%@ taglib prefix="ui" tagdir="/WEB-INF/tags" ...

  4. jsp中 自定义 tag的几种方式

    在jsp文件中,可以引用tag和tld文件. 1.对于tag文件,使用tagdir引用(这个直接是引用的后缀tag文件的jsp文件) <%@ taglib prefix="ui&quo ...

  5. Atitit  java jsp 新的tag技术

    Atitit  java jsp 新的tag技术 1.1.  Tag Files  vs 原生写 SimpleTag 比较麻烦的 JSP 1.x 允许 Web 开发人员创建 Java 组件(称为标记处 ...

  6. jsp中自定义Taglib案例

    一.使用TagSupport类案例解析 1.自定义Tag使用jdbc连接mysql数据库 1.1定义标签处理器类 package com.able.tag; import java.sql.Conne ...

  7. 自定义JSP中的Taglib标签之四自定义标签中的Function函数

    转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于 ...

  8. 【转】JSP中的JSTL与EL表达式用法及区别

    对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL ...

  9. jsp中的JSTL与EL表达式用法

    JSTL (JSP Standard Tag Library ,JSP标准标签库) JSTL标签库分为5类:JSTL核心标签库.JSTL函数标签库.数据库标签库.I18N格式化标签库.XML标签库. ...

随机推荐

  1. Python使用os.listdir()函数来得目录内容的介绍

    Python编程语言是计算机语言中常用的语言,以下的文章就是介绍在Python编程语言中使用os.listdir()函数来获得目录中的相关内容的介绍,如果你对其相关的实际操作有兴趣的话,你就可以观看以 ...

  2. HDU 5137 How Many Maos Does the Guanxi Worth

    How Many Maos Does the Guanxi Worth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 512000/5120 ...

  3. $("#province").val();取不到select的值求解

    MVC下的razor视图开发中无法取到select的值问题求解 cshtml 如下 <select name="province" id="province&quo ...

  4. testng几个tips

    1. testng的测试方法不能有返回值,即必须是void返回值类型. 测试方法前加入了@Test, 但以testNG方式运行,run test为0 以下public WebDriver ...应改为 ...

  5. 【LR】安装LR11后遇到的问题

    (1)问题:录制脚本时无法弹出IE浏览器 解决方法: 正确的是C:\Program Files (x86)\Internet Explorer\iexplore.exe 错误是:C:\Program ...

  6. CMDB反思3

    CMDB模型设计1 http://blog.vsharing.com/xqscool/A1274634.html 分类的问题上比较有感悟.在之前编写新版的CMDB模型的时候,曾将刀片机.x86服务器. ...

  7. DOM笔记(六):怎么进行JQuery扩展?

    一.全局函数的扩展 全局函数是将独立的函数添加到JQuery的命名空间中区.在使用的时候,可以通过$.fucnName(param)或者jQuery.funcName(param)方式进行调用. 1. ...

  8. Pig Run on Hadoop, V1.0

    ——安装hadoop参考这篇blog: http://www.cnblogs.com/lanxuezaipiao/p/3525554.html?__=1a36 后面产生的问题,slave和master ...

  9. Hamming Weight的算法分析(转载)

    看代码时遇到一个求32bit二进制数中1的个数的问题,感觉算法很奇妙,特记录学习心得于此,备忘. 计算一个64bit二进制数中1的个数. 解决这个问题的算法不难,很自然就可以想到,但是要给出问题的最优 ...

  10. poj 1005 I Think I Need a Houseboat

    #include <iostream> using namespace std; const double pi = 3.1415926535; int main() { ;; doubl ...