1. 创建 一个Class
继承 simpleTagSupport ,
然后重写doTag 方法 ,
通过 this.getContext().getOut().print("XXXXXX"); 将 要展示的内容输出到页面上
设置标签所需要的参数 赋予get,set方法 (参数可以用于一起输出到页面)
public class Pager extends SimpleTagSupport {
private String name;
private String id;
private String value;
@Override
public void doTag() throws IOException,JspException{
getJspContext().getOut().print("<input type='text' value='"+value+"' name='"+name+"' id='"+id+"'/>");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
2.写标签
在WEB-INF 下新建一个文件 file(标签文件) newTag.tld
找到C标签的jar包中找到c.tld
找C标签的方法:在standard.jar 中 找到 META—INF/c.tld
将其复制到newTag.tld 去掉重复部分
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
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">
<display-name>pager</display-name>
<tlib-version>1.1</tlib-version>
<short-name>pager</short-name>
<!-- taglib 中的uri -->
<uri>/howie_pager</uri>
<tag>
<name>pager</name>
<!-- 标签类路径 -->
<tag-class>org.howie.util.tag.Pager</tag-class>
<!-- 是否需要包含body -->
<body-content>empty</body-content>
<!-- 参数 ,对应着标签类的所有参数 -->
<attribute>
<!-- 参数名 -->
<name>name</name>
<!-- 是否必须 -->
<required>true</required>
<!-- 是否支持el表达式 -->
<fragment>true</fragment>
</attribute>
<attribute>
<name>id</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<attribute>
<name>value</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
</taglib>
此时标签已经写完 ,接下来就是引用标签了
3.引用标签
在任意jsp头中
引入 标签
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/tag/pager.tld" prefix="p" %>
<!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>
<p:pager name="name" value="name" id="name"/>
</body>
</html>
如果是在 WEB-INF 下,可以直接填写 tld中的uri
<%@ taglib uri="/howie_pager" prefix="p" %>
,但如果是在WEB-INF下的tag文件夹,则必须写成相对路径
<%@ taglib uri="/tag/pager.tld" prefix="p" %>