selectタグ3

selectタグの子要素として、 optgroup があり、これを使用すると要素のグルーピングができる。
グルーピングをする場合、selectのlistに指定する項目は無い場合が多いが、selectの list は必須となっているため指定しないわけには行かない。

次のように呼び出す事で回避できた。

<s:select  list="{}" name="field" label="さらりー" >
   <s:optgroup label="first"  list="#{'item1_1':'item1_1', 'item1_2':'item1_2', 'item1_3':'item1_3' }" />
   <s:optgroup label="second" list="#{'item2_1':'item2_1', 'item2_2':'item2_2', 'item2_3':'item2_3' }" />
</s:select>

ちょっとTIPS:selectのlistには配列を指定できたが、optgroupのlistに配列を指定したらFreeMarkerのエラーとなって指定できなかった