JSP自訂標籤控制JSP內容顯示&&自訂標籤詳解

來源:互聯網
上載者:User

/*實現功能:自訂標籤控制JSP內容顯示還是不顯示日期:20130930作者:煙大陽仔*/1.編寫一個實現tag介面的JAVA類public int doStartTag() throws JspException {return Tag.SKIP_BODY;//控制標籤不顯示//return Tag.EVAL_BODY_INCLUDE;//控制標籤對所有人顯示}2.在tld檔案中對標籤處理器進行描述(tld檔案的位置WEB-INF裡面)<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"    version="2.0">    <description>A tag library exercising SimpleTag handlers.</description>    <tlib-version>1.0</tlib-version>    <short-name>TagLibDemo2</short-name>    <uri>/TagLibDemo2</uri>    <tag>        <name>Demo2</name>        <tag-class>cn.com.web.tag.TagDemo2</tag-class>        <body-content>JSP</body-content>    </tag></taglib>3.在jsp頁面中使用標籤<body><TagLib:Demo2>MyTagLib</TagLib:Demo2></body>-------------------------------------------------------------------------------------------------------------/*實現功能:控制整個JSP頁面的輸出日期:20130930作者:煙大陽仔*/1.編寫一個實現tag介面的JAVA類public int doEndTag() throws JspException {// TODO Auto-generated method stubreturn Tag.SKIP_PAGE;//不顯示頁面的內容//return Tag.EVAL_PAGE;//顯示整個頁面的內容}2.在tld檔案中對標籤處理器進行描述(tld檔案的位置WEB-INF裡面)<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"    version="2.0">    <description>A tag library exercising SimpleTag handlers.</description>    <tlib-version>1.0</tlib-version>    <short-name>TagDemo3</short-name>    <uri>/TagDemo3</uri>    <tag>        <name>Demo3</name>        <tag-class>cn.com.web.tag.TagDemo3</tag-class>        <body-content>empty</body-content>    </tag></taglib>3.在jsp頁面中使用標籤<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@taglib uri="/TagDemo3" prefix="TagLib" %>    <TagLib:Demo3/><!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=UTF-8"><title>控制整個JSP是不是輸出</title></head><body>這個頁面在Taglib:Demo3標籤的作用下無法顯示(第四行添加了標籤)</body></html>-------------------------------------------------------------------------------------------------------------/*實現功能:控制整個JSP頁面內容迴圈顯示日期:20130930作者:煙大陽仔*/1.編寫一個實現tag介面的JAVA類實現TagSupport使用Iteration介面public class TagDemo4 extends TagSupport {private static final long serialVersionUID = 1L;int x=5;@Overridepublic int doAfterBody() throws JspException {// TODO Auto-generated method stubx--;if(x>0){return IterationTag.EVAL_BODY_AGAIN;}else{return IterationTag.SKIP_BODY;}}@Overridepublic int doStartTag() throws JspException {// TODO Auto-generated method stubreturn Tag.EVAL_BODY_INCLUDE;}2.在tld檔案中對標籤處理器進行描述(tld檔案的位置WEB-INF裡面)<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"    version="2.0">    <description>A tag library exercising SimpleTag handlers.</description>    <tlib-version>1.0</tlib-version>    <short-name>TagDemo4</short-name>    <uri>/TagDemo4</uri>    <tag>        <name>Demo4</name>        <tag-class>cn.com.web.tag.TagDemo4</tag-class>        <body-content>JSP</body-content>    </tag></taglib>3.在jsp頁面中使用標籤<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@taglib uri="/TagDemo4" prefix="TagDemo4" %><!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=UTF-8"><title>控制JSP內容顯示次數</title></head><body><TagDemo4:Demo4>我是陽仔</TagDemo4:Demo4></body></html>-------------------------------------------------------------------------------------------------------------/*實現功能:修改JSP內容日期:20131001作者:煙大陽仔*/1.編寫一個實現tag介面的JAVA類實現TagSupport使用Iteration介面public class TagDemo5 extends BodyTagSupport {//把標籤體改為大寫的@Overridepublic int doStartTag() throws JspException {// TODO Auto-generated method stubreturn BodyTag.EVAL_BODY_BUFFERED;}@Overridepublic int doEndTag() throws JspException {BodyContent bc=this.getBodyContent();String content=bc.getString();content=content.toUpperCase();try {this.pageContext.getOut().write(content);} catch (IOException e) {throw new RuntimeException(e);}return Tag.EVAL_PAGE;}2.在tld檔案中對標籤處理器進行描述(tld檔案的位置WEB-INF裡面)<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/j2ee"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"    version="2.0">    <description>A tag library exercising SimpleTag handlers.</description>    <tlib-version>1.0</tlib-version>    <short-name>TagDemo5</short-name>    <uri>/TagDemo5</uri>    <tag>        <name>Demo5</name>        <tag-class>cn.com.web.tag.TagDemo5</tag-class>        <body-content>JSP</body-content>    </tag></taglib>3.在jsp頁面中使用標籤<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>    <%@taglib uri="/TagDemo5" prefix="TagDemo5" %><!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=UTF-8"><title>用標籤修改標籤的內容(改為大寫的)</title></head><body><TagDemo5:Demo5>OneWorld!One Dream!</TagDemo5:Demo5></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.