SimpleTagSupport類別顧名思義,就是可以處理一些簡單的自定義標籤需求,它是在JSP 2.0之後新增的類別,對於一些簡單的自訂標籤頁求,您可以繼承它來實作標籤處理類別,而不用爲了處理一些TagSupport、 BodyTagSuppourt類別中回傳值的問題。
爲了使用上的簡單而降低了複雜性,另一方面就是SimpleTagSupport類別所處理的功能受了些限制,它只處理標籤與本體,要不要顯示本體文字取決於您,對於標籤之後的頁面則不在SimpleTagSupport處理的範圍之內(雖然您還是可以使用forward之類的方式來決定要不要顯示之後的頁面,但直接實作TagSupport會更方便一些),另外SimpleTagSupport類別的本體文字不能設定爲JSP,這也是使用 SimpleTagSupport上的一些限制。
儘管有了一些限制,對於簡單的自訂標籤需求,使用SimpleTagSupport還是比較容易的,它實作了SimpleTag接口,您只要重新定義doTag()方法就可以實作自訂標籤的處理,我們先來看一個簡單的範例:
package demo.tags;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class SimpleTagHello extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("Hello!World!");
}
}
假設在我們的tld檔中設定是這樣的:
<tag> <description>Simple Tag</description> <name>hello</name> <tag-class>demo.tags.SimpleTagHello</tag-class> <body-content>empty</body-content> </tag>