JSP自定義標籤之三:為標籤新增屬性
<%@ taglib uri="WEB-INF/tlds/testlib.tld" prefix="yzj" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>自定義標籤簡單示例</title>
</head>
<body>
<p>這裡是正文內容</p>
<yzj:copyright copyOwner="顏志軍" startYear="2008"/>
</body>
</html>
當然,如果像上述JSP檔案那樣來使用我們自定義的版權標籤,還必須修改tld檔案中的標籤說明,具體地說就是需要為標籤說明屬性copyOwner與startYear。修改完成之後tld檔案如下:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>yzj</shortname>
<tag>
<name>copyright</name>
<tagclass>com.yanzhijun.CopyRightTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>copyOwner</name>
</attribute>
<attribute>
<name>startYear</name>
</attribute>
</tag>
</taglib>
很容易想到,上述修改不會是全部的工作,決定標籤顯示資訊的自定義標籤處理程式也必須做出相應的修改才最終會實現通過標籤屬性設定部分資訊的功能。標籤處理程式處理標籤屬性的方式與JavaBeans是完全一樣的,即可以通過為標籤處理程式新增名稱為“set+屬性名”的方法取得標籤中相應屬性所設定值。
修改之後的標籤處理程式如下:
package com.yanzhijun;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class CopyRightTag extends TagSupport
{
private String copyOwner;
private String startYear;
public void setCopyOwner(String copyOwner)
{
this.copyOwner = copyOwner;
}
public void setStartYear(String startYear)
{
this.startYear = startYear;
}
public int doEndTag()
{
try
{
String copyPre = new String(copyOwner.getBytes("ISO8859_1"), "GB2312") + "版權所有 ©" + startYear;
String info = new String(copyPre.getBytes("GB2312"), "ISO8859_1");
pageContext.getOut().println(info);
}
catch(IOException e){}
return EVAL_PAGE;
}
}
相關文章
- JSP 自定義標籤介紹JS
- JSP自定義標籤就是如此簡單JS
- 實戰練習之Jsp自定義標籤JS
- spring 自定義標籤Spring
- 自定義標籤FlowTagLayout
- HTML標籤屬性HTML
- input標籤autocomplete 屬性
- jsp標籤jsp:useBean用法JSBean
- xss標籤和屬性爆破
- HTML 標籤與屬性大小寫HTML
- HTML 常用的標籤和屬性HTML
- 擴充spring元件之自定義標籤Spring元件
- VOC標籤轉化為YOLO標籤YOLO
- quotes屬性與<q>標籤關係
- <checkBox>標籤的value屬性的作用
- 自動為新文章新增標籤WordPress外掛(可控制標籤數量)
- HTML簡介,結構,標籤以及標籤語義HTML
- Django自定義模板標籤與過濾器Django過濾器
- 課時26.a標籤其它屬性(掌握)
- Vue 標籤中的ref屬性和refsVue
- vue 標籤和屬性中 字串拼接方法Vue字串
- 內嵌標籤frameset框架屬性及用法框架
- JSP C 標籤的常見用法JS
- HTML5 新增標籤HTML
- HTML5的新特性——語義化標籤、多媒體標籤(video、audio)、input型別、表單屬性HTMLIDE型別
- HTML5新新增的語義化標籤HTML
- 易優Global全域性配置標籤-Eyoucms標籤手冊
- properties標籤和typeAliases標籤
- 聊聊自定義SPI如何使用自定義標籤注入到spring容器中Spring
- ESLint對a標籤href屬性警告解決方法EsLint
- 標籤上title與alt屬性的區別
- script標籤的defer和async屬性詳解
- 正值表示式匹配html標籤的屬性值HTML
- C#裡面標籤的屬性和事件C#事件
- H5新增標籤元素H5
- input標籤單行文字域type="text"的可以新增屬性以及其描述
- HTML標籤(基本標籤的使用)HTML
- JavaScript html標籤轉義為實體字元JavaScriptHTML字元
- spring原始碼深度解析— IOC 之 自定義標籤解析Spring原始碼