jsp自定义标签

    Jsp标签库是一种非常优秀的表现层组件技术。主要为了代替丑陋的jsp脚本,在Html界面中使用JSp有如下几个坏处:

      1)、难以阅读

      2)、JSp脚本和html代码混杂,维护成本高

      3)、Html页面嵌入JSp脚本,导致美工人员难以开发。

JSp2版本中开发标签库需如下步骤:

      1)、开发自定义标签处理类

      2)、建立一个*.tld文件,每个*.tld文件对应一个标签库,每个标签库可以包含多个标签。

      3)、在JSp文件中使用自定义标签。

一、开发自定义标签类

    自定义标签类应该继承一个父类:javax.servlet.jsp.tagext.SimpleTagSupport,除此之外,标签类还有如下要求:

    1)如标签类包含属性,则每个属性都应对应相应的getter和setter方法。

    2)重写toTag()方法,这个方法负责生成页面内容。

 public class QueryTag extends SimpleTagSupport{

           private String driver;

           private String url;

           //此处省略各成员的setter和getter方法

      public void doTag() throws JspException{

            //获取页面输出流

            Writer out = getJspContext().getOut();

           out.write("

");

           out.write("

");

           out.write("

");

    }

}

 

一、建立TLD文件

     可以在web容器tomcat中,webapps/examples/web-inf/jsp2下jsp2-example.taglib.tld文件,作为tld的范例。将该文件复制到web项目的WEB-INF路径下。

 

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"

    version="2.0">

    A tag library exercising SimpleTag handlers.

    1.0

    SimpleTagLibrary

   

    http://www.crazyit.org/mytaglib

    

       

       query

       

       com.le.QueryTagtag-class>

        

       empty

        

          

              driver

               

               true

               

               true

           

          

          

              url

               

               true

               

               true

           

   

  >

三、在页面中使用自定义标签

queryTap.jsp

 <%@ taglib uri="http://www.crazyit.org/mytaglib“ prefix="mytag" %>

     driver="com.mysql.jdbc.Driver"

      url="jdbc:mysql://localhost:3306/javaee"

      />

   在界面中访问localhose:8888/tagDemo/queryTap.jsp页面显示driver和url的值。

你可能感兴趣的:(jsp自定义标签)

");

           out.write(driver);

           out.write("

");

            out.write( url);

            out.write("