Tag的定义

  1. <%@ tag import="java.util.HashSet" %>
  2. <%@ tag import="java.util.regex.Pattern" %>
  3. <%@ tag import="java.util.regex.Matcher" %>
  4. <%@attribute name="okString" required="true" type="java.lang.String" %>
  5. <%@variable name-given="words" variable-class="java.util.HashSet" scope="AT_BEGIN" %>
  6. <%
  7. HashSet<String>set=new HashSet<>();
  8. Pattern pattern;
  9. Matcher matcher;
  10. String regex="[a-zA-Z]+";
  11. pattern=Pattern.compile(regex);
  12. matcher=pattern.matcher(okString);
  13. while (matcher.find()){
  14. String str= matcher.group();
  15. set.add(str);
  16. }
  17. jspContext.setAttribute("words",set);
  18. %>

attribute

用于设置Tag被调用时需要导入的数据

variable

用于设置生存周期超过这个Tag文件本身的对象,注意其与attribute属性一样,需要定义对象的类型(精确到包名),以及其本身的生存周期

jspContext

作为一个转接口,链接jsp文件中变量名与将要传输出去文件的变量名,用于传输除了String之外的东西

Tag的使用

  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%@taglib prefix="cal" tagdir="/WEB-INF/tags" %>
  3. <html>
  4. <head>
  5. <title>useCalender</title>
  6. </head>
  7. <body style="font-family:serif;font-size: medium;color: aliceblue;background-color: green">
  8. <cal:calendar year="2000" month="1"/>
  9. </body>
  10. </html>

引入

通过使用<taglib prefix=".....(前缀名)" targir="....../tags">来进行调用,不知道为何,其不能只调用一个tag文件,只能调用一个文件夹,且那个文件夹的名字必须为”tags”,一般将其放在”WEB-INFO”文件夹中.

调用

通过使用<前缀名:tag文件名(不带后缀) .........>后面对于Tag需求的attribute属性进行赋值,即可实现调用.