zoukankan      html  css  js  c++  java
  • JSP中的TAG

    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的标签:

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


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

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

    [html] view plaincopy
     
    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.   
    9. <body>  
    10.     <h1>Tag Test is ok!</h1>  
    11.   
    12.     <mx:MyTag id="Weblet1" webletID="W1001"/>  
    13. </body>  
    14.   
    15. </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文件作用比较复杂,可以实现很多高级的作用。

  • 相关阅读:
    企业级管理软件快速开发平台在同一个数据库上进行多个系统开发
    企业级管理软件快速开发平台设计思想分享
    由IT代码工转行做销售2年,给自己的销售管理团队做了个CRM,欢迎大家批评指正!
    探讨未来平台化开发技术
    企业级管理软件快速开发平台极致业务基础平台开发效果一览
    封装原生js的Ajax方法
    正则表达式之圆括号(转)
    完美/兼容版添加事件以及删除事件
    判断浏览器版本及浏览器类型
    使用Normalize.css重置默认样式
  • 原文地址:https://www.cnblogs.com/a757956132/p/4959364.html
Copyright © 2011-2022 走看看