站點首頁   聯系我們 
站點首頁 數據中心 域名註冊 網頁寄存 企業郵局 智能建站  
返回站點首頁
支持中心首頁
常見問題搜索
常見問題
域名相關問題
空間相關問題
郵箱相關問題
智能建站相關問題
繁簡通相關問題
動態域名相關問題
中文域名相關問題
代理申請相關問題
網絡查詢工具
 

   

Tomcat 5 對JSP2.0 支持的新功能介紹

1. 簡單標誌擴展實現示例:

java程序 RepeatSimpleTag.java://放到WEB-INF/classes/jsp2/examples/simpletag 下面

package jsp2.examples.simpletag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.util.HashMap;
import java.io.IOException;

public class RepeatSimpleTag extends SimpleTagSupport {
private int num;

public void doTag() throws JspException, IOException {
for (int i=0; i<num; i++) {
getJspContext().setAttribute("count", String.valueOf( i + 1 ) );
getJspBody().invoke(null);
}
}

public void setNum(int num) { //這個用來設置num的值,這個方法將在tld文件中調用
this.num = num;
}
}

-------------------------------------------------

repeatTaglib.tld (標誌庫描述文件,放在WEB-INF下面的jsp2下面)

<?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 web-jsptaglibrary_2_0.xsd" version="2.0">
<description>A tag library exercising SimpleTag handlers.</description>
<tlib-version>1.0</tlib-version>
<short-name>SimpleTagLibrary</short-name>
<uri>/SimpleTagLibrary</uri>

<tag> <!--這裏是開始標誌描述-->
<name>repeat</name> <!--這裏設定的標誌名稱,供jsp文件調用-->
<tag-class>jsp2.examples.simpletag.RepeatSimpleTag</tag-class> <!--對應的java文件路徑-->
<body-content>scriptless</body-content>


<variable> <!--設置要獲取的變量返回值-->
<description>Current invocation count (1 to num)</description>
<name-given>count</name-given>
</variable>


<attribute> <!--設置java類中變量,調用java文件中的setNum()方法-->
<name>num</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag> <!--//這裏是結束標誌描述-->

</taglib>

------------------------------------------------

repeat.jsp

<%@ taglib prefix="repeattag" uri="/WEB-INF/jsp2/repeatTaglib.tld" %>
<html>
<body>
<br>
<repeattag:repeat num="5">//向標記庫文件中的repeat標記付值
獲得返回值:${count} of 5<br>//得到返回結果(java程序中實現了循環)
</repeattag:repeat>
</body>
</html>

看這麽簡單就可以得到想要的結果,方便吧。
2. 一個簡單的標簽文件

SimpleTag.tag 這個文件放到WEB-INF/tags下面

<h4>hello,welcome to here ,here is a simple tag Example</h4>

char.jsp
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<HTML>
<BODY>
<H2>Tag File Example</H2>
<P><B>The output of my first tag file is</B>: <tags:SimpleTag/>
</BODY>
</HTML>

如果其他JSP頁面中還要使用這個標簽文件,同樣也可以實現這調用這個標誌庫文件,達到簡單的代碼復用的目的。
3. 標簽文件的動態復用

標簽文件可以作為模板使用。指令attribute類似於TLD中的<attribute>元素,允許聲明自定義的動作屬性。

<%@ attribute name="color" %>
<%@ attribute name="bgcolor" %>
<%@ attribute name="title" %>
<TABLE border="0" bgcolor="${color}">

<TR> <TD><B>${title}</B></TD> </TR>
<TR> <TD bgcolor="${bgcolor}"> <jsp:doBody/> </TD> </TR>
</TABLE>

以下是調用這個Tag文件的jsp文件

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>
<HTML><BODY>
<TABLE border="0">
<TR valign="top">

<TD>
<tags:display color="#ff0000" bgcolor="#ffc0c0" title="Travel"> Last French Concorde Arrives in NY
Another Travel Headline
Yet Another Travel Headline
</tags:display>
</TD>

<TD> <tags:display color="#00fc00" bgcolor="#c0ffc0" title="Technology"> Java for in-flight entertainment
Another Technology Headline
Another Technology Headline
</tags:display>
</TD>

<TD> <tags:display color="#ffcc11" bgcolor="#ffffcc" title="Sports"> American Football NBA Soccer
</tags:display>
</TD>
</TR>

</TABLE> </BODY> </HTML>

其中<tags:display color="#ffcc11" bgcolor="#ffffcc" title="Sports"> 每次設定Tag文件中的相關的屬性,而Tag標誌文件則根據設定的屬性顯示相應的結果。

返回上一頁
  打 印   發 送 時代互聯Eranet International Limited 版權所有 ©2005-2024
《中華人民共和國增值電信業務經營許可證》 ISP證粵B2-20042046