jsp之用户自定义标签

时间:2023-03-09 19:53:39
jsp之用户自定义标签
  • 创建一个类,引入外部jsp-api.jar包(在tomcat 下lib包里有),这个类继承SimpleTagSupport
  • 重写doTag()方法。
jspprojec包下的helloTag类:
 public class helloTag extends SimpleTagSupport{

     @Override
     public void doTag() throws JspException, IOException {

         JspWriter out=this.getJspContext().getOut();
         out.print("你好我是自定义标签");
     }

 }
  • 定义配置文件,这个文件放在webContent目录下的tags包里,文件扩展名为.tld 。
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">

  <tlib-version>1.2</tlib-version>
  <short-name>my</short-name>
  <uri>my/jsp/jstl/my_hi</uri>

  <tag>
    <name>hi</name> //标签名
    <tag-class>jspprojec.helloTag</tag-class> //自定义标签类
   <body-content>empty</body-content>

  </tag>
</taglib>
  • 在jsp中使用自定义标签:
 <%@page import="java.util.ArrayList,java.util.ArrayList,jspprojec.Student"%>
 <%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8"%>
 <%@ taglib prefix="my" uri="tags/my.tld" %>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Insert title here</title>
 </head>
 <body>

 <my:hi/>

 </body>
 </html>

结果:

jsp之用户自定义标签