自定义标签的开发与使用

来源:互联网 发布:php乘法表 编辑:程序博客网 时间:2024/04/30 21:35

 一般来说,自定义标签的开发包含下面四个步骤:

1,编写完成标签功能的java类;

2,编写标签库描述符(tld)文件,在tld文件中对自定义标签进行描述。

3,在web应用中部署和安装自定义标签库。

4,在jsp页面中导入和使用自定义标签。

 

下面是一个简单的例子:

 

标签处理器类:

package com.bs.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

public class viewIPTag extends TagSupport {


 public int doStartTag() throws JspException {

    String IP=pageContext.getRequest().getRemoteAddr();
    try{
     pageContext.getOut().write(IP);
    }catch(Exception e){
     e.printStackTrace();
     
    }
  return super.doStartTag();
 }

 
}

 

 

 

tld文件:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.2</tlibversion>
<jspversion>1.1</jspversion>
<shortname>it315</shortname>
<uri>/taglib</uri>

 


<tag>
<name>ip</name>
<tagclass>com.bs.tag.viewIPTag</tagclass>

<bodycontent>empty</bodycontent>

</tag>

</taglib>

 

 

 

jsp页面中使用自定义标签:

 

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ taglib prefix="it315" uri="/taglib" %>
<%
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 'index.jsp' starting page</title>

  </head>
 
  <body>&nbsp;
   您的ip:<it315:ip/> <br/>
   <%out.write("adsfadfs"); %><br/>
  </body>
</html>