カスタムタグ
ページ送りの続きです。
次へボタン、現在ページ、前へボタンのJSPをカスタムタグで実装することにしました。
↑こんな感じのタグを作成。
カスタムタグと言えば一般的にTagSupportクラスを継承して、doStartTagメソッドをオーバーライドします。
public int doStartTag() Throws JspException { JspWriter out = pageContext.getOut(); out.print("HogeHoge"); return SKIP_BODY; }
とこんな感じです。
はじめはわけがわからんかったので
public int doStartTag() Throws JspException { JspWriter out = pageContext.getOut(); out.print("<html:button property="Hoge" value="Hoge" />"); return SKIP_BODY; }
と書いてました。
JSPを書いても何にも表示されないorz
Htmlを書くしかないみたいです...。JSPが何かを考えれば当たり前の話ですが...。
タグクラスからFormBeanのインスタンスを参照したかったので
FormBean form = (FormBean)TagUtils.getInstance().lookup(pageContext,"FormBean","session");
と書いてFormBeanのインスタンスをとってきました。
lookupの引数、FormBeanのところはstruts-config.xmlのform-bean名を入れて、sessionはFormBeanのscopeをいれればOKです。
FormBeanのインスタンスが取得できたのでいろいろ出来て便利でした。