`
srj2903
  • 浏览: 103984 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

自定义Taglib

    博客分类:
  • jsp
阅读更多

随便写了一个taglib 代码如下

先建一个Welcome文件

package com.test;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;

public class Welcome extends BodyTagSupport{

    @Override
    public int doAfterBody() throws JspException {
       
        try {
            BodyContent bodyContent = super.getBodyContent();
            String bodyString = bodyContent.getString();
            JspWriter out = bodyContent.getEnclosingWriter();
            out.print(bodyString.toUpperCase());
            bodyContent.clear();
        } catch (IOException e) {
           System.out.println("BodyContentTag.doAfterBody中发生错误"+e.getMessage());
        }
        return EVAL_PAGE;
       
    }

    @Override
    public void setBodyContent(BodyContent bc) {
        super.setBodyContent(bc);
        System.out.println("BodyContent=  '"+bc.getString()+"' ");
       
    }

}

在WEB-INF下建立一个Welcome.tld文件

 

<!DOCTYPE taglib
          PUBLIC "-//SUN Microsystems,Inc.//DTD JSP Tag Library 1.2//EN"
          "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"
>
<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">
    <tlib-version>1.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>Simple Tags</short-name>
   
    <tag>
        <name>simpletag</name>
        <tag-class>com.test.Welcome</tag-class>
        <body-content>jsp</body-content>
    </tag>
</taglib>

 

 

最后在jsp中调用就可以了

 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri='WEB-INF/welcome.tld' prefix="w" %>

<%
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>
    <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>
   
    <w:simpletag>欢迎光临 shop stop </w:simpletag>
   
  </body>
</html>

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics