細かいメモをこのエントリに書き残すことにしよう。
1.
<%-- これはエラー --%> <bean:define id="hoge" value="true" type="boolean" /> <%-- これもエラー --%> <bean:define id="hoge" value="true" type="java.lang.Boolean" />
上記は両方エラーになった。StringからBooleanへのキャストとして処理されるみたいだ。
また、value属性の値を"1"とか"0"にしても結果は同じだった。
そもそも一見するとnew Boolean(true)の如く無駄なコードに思えるけど、実際は以下のような書き方をしたい。
期待する結果としては、foo.xxxの値が"0"以外の場合はボタンがdisabledになってほしい。
<bean:define id="hoge" value="true" type="boolean" /> <logic:equal name="foo" property="xxx" value="0" /> <bean:define id="hoge" value="false" type="boolean" /> </logic:equal> ... <html:button property="bt" value="登録" disabled="<%= hoge %>" />
仕方がないので
2. Integer[] をフォームのプロパティとして使用する。
multiboxを使うのが無難かな。