zoukankan      html  css  js  c++  java
  • jsp 标签库的使用

    这个程序是实现读取数据库的内容并显示给客户端,首先看看目录结构:


    数据库操作类MyDBAccess.java DB目录下

    描述文件MyDBAccess.tld WEB-INF

    测试程序tagTEST.jsp ROOT

    MyDBAccess.java内容如下

    package DB ; //重要 目录名字

    import java.io.IOException;

    import javax.servlet.jsp.*;

    import javax.servlet.jsp.tagext.*;

    public class MyDBAccess extends TagSupport

    {

           String str = null;

    public void setStr(String str)

           {

                  this. str = str;

           }

           public int doEndTag() throws JspException

           {

                  return EVAL_PAGE;

           }

           public int doStartTag() throws JspException

           {

          

                  JspWriter   out   =   pageContext.getOut();

                  try

                  {

                         out.println(str);

                  }

                  catch ( IOException e)

                  {

                         e.printStackTrace();

                  }

                  return SKIP_BODY;

           }

    }

    注意:1:这个文件是真正的处理文件,必须从TagSupport继承,重载他的2个函数。经测试,如果修改了MyDBAccess.java,则必须要重新编译这个文件成class并且重启tomcat,这样才能生效!!!

    2: public void setStr(String str); 参数strtagTEST.jsp传来的参数,函数名必须是set+变量名(首字母大写)= setStr

    MyDBAccess.tld内容如下:

    <?xml version="1.0" encoding="ISO-8859-1"?>

    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

    <taglib>

    //标签库版本

    <tlibversion>1.0</tlibversion>

    //标签库依赖的JSP版本

    <jspversion>2.0</jspversion>

    //标签库名,随便起的。

    <shortname>MyDBAccess</shortname>  

    //关于标签库的详细信息,随便起

    <info>A Tag library</info>

    <tag>

    //定义标签的名,随便起的,但是tagTEST.jsp要调用。

    <name>mysql</name>

    //根据MyDBAccess .java文件里定义的 目录名+类名

    <tagclass>DB.MyDBAccess</tagclass>

    //此标签体的定义,tagdependent表示有内容要穿

    <body-content> tagdependent </body-content>

    //参数说明!注意str即可

    <attribute>

    <name>str</name>

    <required>true</required>

    <rtexprvalue>true</rtexprvalue>

    </attribute>

    </tag>

    </taglib>

    测试程序tagTEST.jsp

    <%@include file ="head.jsp" %>

    <%@ taglib uri="/WEB-INF/MyDBAccess.tld" prefix="test" %>  

    <test:mysql str="test" ></test:mysql>

    注意:str表示要传的参数,test:mysql这句就自动调用MyDBAccessjava了

    好了编译并重启,直接在地址栏输入http://localhost:8080/tagTEST.jsp 就可以得到结果 test

  • 相关阅读:
    JVM Ecosystem Report 2020
    TiDB 简介
    Docker镜像分层打包方案
    Promethues + Grafana + AlertManager使用总结
    Spring Boot自动注入原理
    Spring Boot 2.x 自定义Endpoint
    Oracle 等待事件 Enq: CF
    1000行MySQL学习笔记
    PostgreSQL DBA常用SQL查询语句
    MongoDB DBA常用的NoSQL语句
  • 原文地址:https://www.cnblogs.com/SuperXJ/p/1575248.html
Copyright © 2011-2022 走看看