日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自定义标签的作用

發布時間:2023/12/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自定义标签的作用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????      ? 1)控制標簽體內容是否輸出

??????????????????????????? 2)控制標簽余下內容是否輸出

??????????????????????????? 3)控制重復輸出標簽體內容

??????????????????????????? 4)改變標簽體內容

??????????????????????????? 5)帶屬性的標簽

package com.loaderman.demo.a_tag;import java.io.IOException; import java.io.StringWriter;import javax.servlet.jsp.JspException; import javax.servlet.jsp.SkipPageException; import javax.servlet.jsp.tagext.JspFragment; import javax.servlet.jsp.tagext.SimpleTagSupport; /*** 標簽處理器類* @author APPle**/ public class DemoTag extends SimpleTagSupport{//1.聲明屬性的成員變量private Integer num;//2.關鍵點: 必須提供公開的setter方法,用于給屬性賦值public void setNum(Integer num) {this.num = num;}@Overridepublic void doTag() throws JspException, IOException {System.out.println("執行了標簽");/*** 1)控制標簽內容是否輸出* 輸出: 調用jspFrament.invoke();* 不輸出: 不調用jspFrament.invoke();*///1.1 得到標簽體內容JspFragment jspBody = this.getJspBody();/*** 執行invoke方法: 把標簽體內容輸出到指定的Writer對象中*///1.2 往瀏覽器輸出內容,writer為null就是默認往瀏覽器輸出//JspWriter out = this.getJspContext().getOut();//jspBody.invoke(out);jspBody.invoke(null);//等價于上面的代碼/*** 3)控制重復輸出標簽體內容* 方法: 執行多次jspBody.invoke()方法*//*for(int i=1;i<=num;i++){jspBody.invoke(null);}*//*** 4)改變標簽體內容*///4.1 創建StringWriter臨時容器/*StringWriter sw = new StringWriter();//4.2 把標簽體拷貝到臨時容器jspBody.invoke(sw);//4.3 從臨時容器中得到標簽體內容String content = sw.toString();//4.4 改變內容content = content.toLowerCase();//System.out.println(content);//4.5 把改變的內容輸出到瀏覽器//jspBody.invoke(null); 不能使用此方式輸出,因為jsbBody沒有改變過this.getJspContext().getOut().write(content);*//*** 2)控制標簽余下內容是否輸出* 輸出: 什么都不干!* 不輸出: 拋出SkipPageException異常*/throw new SkipPageException();} }

loaderman.tld文件

<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"version="2.1"><!-- 標簽庫的版本 --><tlib-version>1.1</tlib-version><!-- 標簽庫前綴 --><short-name>loaderman</short-name><!-- tld文件的唯一標記 --><uri>http://loaderman.cn</uri><tag><name>demoTag</name><tag-class>com.loaderman.demo.a_tag.DemoTag</tag-class><body-content>scriptless</body-content><!-- 屬性聲明 --><attribute><!-- 屬性名稱 --><name>num</name><!-- 是否必填 --><required>true</required><!-- 是否支持EL表達式 --><rtexprvalue>false</rtexprvalue></attribute></tag></taglib>

?


?

轉載于:https://www.cnblogs.com/loaderman/p/10002360.html

總結

以上是生活随笔為你收集整理的自定义标签的作用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。