简单自定义标签步骤

1: 编写一个实现Tag接口的Java(标签处理器类)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cn.gbx.web.tag;
 
import java.io.IOException;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
 
public class ViewIpTag extends TagSupport {
 
    @Override
    public int doStartTag() throws JspException {
        HttpServletRequest request = (HttpServletRequest) this.pageContext.getRequest();
        JspWriter out = this.pageContext.getOut();
        try {
            out.print(request.getRemoteAddr());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        return super.doStartTag();
    }
     
}

  

2:在tld文件中对标签处理器类进行描述 tld文件的位置放在WEB-INF中(/Test2/WebRoot/WEB-INF/jsptag/gbx.tld)。  文件模式可以从tomcat中查看

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8" ?>
 
    version="2.0">
    <description>A tag library exercising SimpleTag handlers.</description>
    <tlib-version>1.0</tlib-version>
    <short-name>SimpleTagLibrary</short-name>
    <uri>http://www.gbx.com.cn</uri>
     
    <tag>
        <description>show client IP</description>  <!-- 注释说明 -->
        <name>viewIP</name>  <!-- 配置的标签名 -->
        <tag-class>cn.gbx.web.tag.ViewIpTag</tag-class>
        <body-content>empty</body-content> <!-- 标签体为空 -->
    </tag>
     
</taglib>

  

3:在jsp页面利用taglib指令导入我们的tld文件的uri, 然后使用即可。

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.gbx.com.cn" prefix="gbx" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
     
    <title>My JSP ‘1.jsp‘ starting page</title>
     
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">   
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
 
  </head>
   
  <body>
    <gbx:viewIP/>
  </body>
</html>

  

简单自定义标签步骤

上一篇:squid添加用户名密码认证


下一篇:【原创】看在校大学生如何一次征服信管之峰——我的信管梦!