JSP自訂標籤入門執行個體

來源:互聯網
上載者:User

jsp標籤取代了JSP中的Java程式,並且可以重複使用,方便不熟悉Java編程的網頁設計人員。


首先在eclipse下建立一個動態web工程
1,在</web-app>之前加入
    <jsp-config>
          <taglib>
           <taglib-uri>/tld/helloworld</taglib-uri>
           <taglib-location>/WEB-INF/tlds/helloworld.tld</taglib-location>
        </taglib>
     </jsp-config>
2.在WEB-INF下建立tlds目錄,在tlds下建立helloworld.tld.helloworld.tld的內容為

<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"

   "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
   
<taglib>
   <tlib-version>1.0</tlib-version>
   <jsp-version>1.2</jsp-version>
   <short-name>mytag</short-name>
   <tag>
      <name>helloworld</name>
      <tag-class>mytag.HelloWorldTag</tag-class>
      <body-content>empty</body-content>
   </tag>
</taglib>


 3.在src的mytag包下建立類HelloWorldTag.javapackage mytag;

import java.io.IOException;

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

public class HelloWorldTag extends TagSupport...{
    
    public HelloWorldTag()...{
        
    }
    
    public int doStartTag() throws JspTagException...{
        return EVAL_BODY_INCLUDE;
    }
    
    public int doEndTag() throws JspTagException...{
        try...{
            pageContext.getOut().write("This is a jsp tag test!");
        }catch(IOException ex)...{
            throw new JspTagException("錯誤");
        }
        
        return EVAL_PAGE;
    }

}

測試頁面hello.jsp<%...@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gb2312"%>
<%...@ page import="java.util.*"%>
<%...@ page import="jstl.*"%>
<%...@ taglib prefix="mytag" uri="/tld/helloworld"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Insert title here</title>
</head>
<body>

<h1>自訂標籤:</h1>
<br>
<br>
<mytag:helloworld></mytag:helloworld>
<br>
</form>
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.