1)开发标签处理程序是一个普通的java类,继承SimpleTagSupport类,覆盖doTag方法
public class ShowIpTag extends SimpleTagSupport {
private JspContext jspcontext;
@Override
public void doTag() throws JspException, IOException {
// 1)获取客户端ip
PageContext pageContext = (PageContext) this.getJspContext();
// 2)通过pageContext获取到其他8个内置对象
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
String ip = request.getRemoteHost();
//3)把ip输入给浏览器
JspWriter out = pageContext.getOut();
out.write("当前客户端的ip为:"+ip);
}
}
2)在WEB-INF目录下建立一个tld文件,内容参考c.tld的内容。例如
<?xml version="1.0" encoding="UTF-8" ?>
<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>panchen</short-name>
<!-- 是标签库的唯一名称 -->
<uri>http://gx.wzxy.cn</uri>
<!-- 定义一个标签 -->
<tag>
<!-- 标签名称 -->
<name>showIp</name>
<!-- 标签处理程序的全名:包名+类名 -->
<tag-class>a_tag.ShowIpTag</tag-class>
<!-- 标签体内容输出格式 -->
<body-content>scriptless</body-content>
</tag>
</taglib>
3)在jsp页面顶部导入自定义标签
<%@ taglib prefix=“panchen” uri=“http://gx.wzxy.cn” %>
4)使用标签
<panchen:showIp/>