2004-09-01
_ Strutsカスタムタグhtml:buttonでdisabled
StrutsのHTMLカスタムタグのひとつに <html:button> がある.この属性のひとつにdisabledというものがある.これはボタンを無効化する属性で,例えば「次のページ」や「前のページ」なんかのボタンで.「次のページ」はないからボタンを押せないようにしようとかいったときに使えます.で,このdisabled属性を動的に変更するにはどうしたらいいかで,今日は少しばかり時間をとられました.結論としてはJSP上でスクリプトレットを記述して値を取得するという方法で解決しました.Formクラスでボタンの状態を返すメソッド「isNextButton()」を準備.戻り値の型は boolean としておく.JSP側では以下のような実装を行う.
<bean:define id="form" name="formName" type="com.hoge.forms.formName" /> <html:form action="/hogehoge"> <html:button value="NEXT" disabled="<%= form.isNextButton() %>" property="next" onclick="submit()"/> </html:form>
といった具合で実装.基本的にスクリプトレットは使用しない方針ですが,こういった場合はやむをえないので使用することとしました.もっとスマートな書き方ないかなぁ….