自定义标签

一个具体的类继承TagSupport

定义的类必须在包之下

打印一句:HelloWord!!

通过上下文获取输出流

package  com.xiaomaha.mytag;

import  java.io.IOException;

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

public   class  HelloWord  extends  TagSupport  {

    @Override
    
public   int  doStartTag()  throws  JspException  {
        JspWriter w 
=  pageContext.getOut();
        
try   {
            w.println(
" HelloWord!!! " );
        }
  catch  (IOException e)  {
            
//  TODO Auto-generated catch block
            e.printStackTrace();
        }

        
return   super .doStartTag();
    }


}

 

定义一个xml文件

 

<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "web-jsptaglibrary_1_2.dtd"  >
< taglib >
  
< tlib-version > tlib-version </ tlib-version >
  
< jsp-version > jsp-version </ jsp-version >
  
< short-name > short-name </ short-name >
  
< tag >
    
< name > hello </ name >
    
< tag-class > com.xiaomaha.mytag.HelloWord </ tag-class >
  
</ tag >
</ taglib >

jsp调用

引用:   <%@taglib uri="/WEB-INF/hello.xml" prefix="h"%>

<% @ page language = " java "  import = " java.util.* "  pageEncoding = " UTF-8 " %>
<%
String  path  =  request.getContextPath();
String  basePath  =  request.getScheme() + " :// " + request.getServerName() + " : " + request.getServerPort() + path + " / " ;
%>
<% @taglib uri = " /WEB-INF/hello.xml "  prefix = " h " %>
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
< html >
  
< head >
    
< base  href ="<%=basePath%>" >
    
    
< title > My JSP 'index.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 >  
    
< h:hello ></ h:hello >
  
</ body >
</ html >

 

http:localhost:9999/TestTag

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值