Tag的定义
<%@ tag import="java.util.HashSet" %>
<%@ tag import="java.util.regex.Pattern" %>
<%@ tag import="java.util.regex.Matcher" %>
<%@attribute name="okString" required="true" type="java.lang.String" %>
<%@variable name-given="words" variable-class="java.util.HashSet" scope="AT_BEGIN" %>
<%
HashSet<String>set=new HashSet<>();
Pattern pattern;
Matcher matcher;
String regex="[a-zA-Z]+";
pattern=Pattern.compile(regex);
matcher=pattern.matcher(okString);
while (matcher.find()){
String str= matcher.group();
set.add(str);
}
jspContext.setAttribute("words",set);
%>
attribute
variable
用于设置生存周期超过这个Tag文件本身的对象,注意其与attribute
属性一样,需要定义对象的类型(精确到包名),以及其本身的生存周期
jspContext
作为一个转接口,链接jsp文件中变量名与将要传输出去文件的变量名,用于传输除了String之外的东西
Tag的使用
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="cal" tagdir="/WEB-INF/tags" %>
<html>
<head>
<title>useCalender</title>
</head>
<body style="font-family:serif;font-size: medium;color: aliceblue;background-color: green">
<cal:calendar year="2000" month="1"/>
</body>
</html>
引入
通过使用<taglib prefix=".....(前缀名)" targir="....../tags">
来进行调用,不知道为何,其不能只调用一个tag文件,只能调用一个文件夹,且那个文件夹的名字必须为”tags”,一般将其放在”WEB-INFO”文件夹中.
调用
通过使用<前缀名:tag文件名(不带后缀) .........>
后面对于Tag需求的attribute属性进行赋值,即可实现调用.