stringappendtags
package cn.xy.mytag;
import javax.servlet.jsp.jspexception;
import javax.servlet.jsp.tagext.tagsupport;
public class stringappendtags extends tagsupport
{
private static final long serialversionuid = 1l;
public stringappendtags()
{
}
@override
public int dostarttag() throws jspexception
return 1;
}
stringappendtag
import javax.servlet.jsp.tagext.bodycontent;
import javax.servlet.jsp.tagext.bodytagsupport;
/**
* 标簽一般執行順序:dostarttag()->顯示文字->doafterbodytag()->doendtag()->執行下面的網頁
* @author xy
*
*/
public class stringappendtag extends bodytagsupport
/**
* 值處理過後存儲在pagecontext中的鍵
*/
private string key;
* 标簽開始時調用該方法
// 處理标簽體
return eval_body_buffered;
* 處理标簽體方法
public int doafterbody() throws jspexception
// 标簽體對象
bodycontent body = getbodycontent();
// 标簽體中字元串内容
stringbuffer bodycontent = new stringbuffer(body.getstring());
// 清除标簽體中内容
body.clearbody();
// 将處理過後的變量儲存在pagecontext對象
this.pagecontext.setattribute(key, bodycontent.append("xy").tostring());
// 結束對标簽體的處理
return skip_body;
public string getkey()
return key;
public void setkey(string key)
this.key = key;
xy-tags.tld
<?xml version="1.0" encoding="utf-8"?>
<tlib-version>1.0</tlib-version>
<short-name>xy</short-name>
<uri>/xy-tags</uri>
<tag>
<name>stringappenders</name>
<tag-class>cn.xy.mytag.stringappendtags</tag-class>
<body-content>jsp</body-content>
</tag>
<name>stringappender</name>
<tag-class>cn.xy.mytag.stringappendtag</tag-class>
<body-content>tagdependent</body-content>
<variable>
<name-from-attribute>key</name-from-attribute>
<variable-class>java.lang.string</variable-class>
<scope>at_begin</scope>
</variable>
<attribute>
<name>key</name>
<required>true</required>
</attribute>
</taglib>
用法
<body>
<x:stringappenders>
<x:stringappender key="str1">i am </x:stringappender>
<x:stringappender key="str2">i am </x:stringappender>
<x:stringappender key="str3">i am </x:stringappender>
</x:stringappenders>
字元串添标簽的結果 ${ str1 } | ${pagescope.str1 } <br>
字元串添标簽的結果 ${ str2 } | ${pagescope.str2 } <br>
字元串添标簽的結果 ${ str3 } | ${pagescope.str3 } <br>
</body>
結果
字元串添标簽的結果 i am xy | i am xy