html:select では bean:define タグの記述は必須[プログラミング]
(2018-09-03 12:52:15) by shinoda
以前、このブログで、JSP の実行で、
HTTPステータス 500 - javax.servlet.ServletException: javax.servlet.jsp.JspException:
Cannot find bean under name sex_list
結論として、
<bean:define id="sex_list" name="hogeForm" property="sex_list" scope="request"/>
という記述を追加してバッチリだったが、別の解として、
<html:form>タグか、<html:select>タグに name 属性で hogeForm を指定すれば良い
とも書いた。
・・・が、どうも select 項目の場合、option 項目に name 属性はないんで、<bean:define>タグの記述は必須のようである。
例えば、
<html:select name="hogeForm" property="sex">
<html:option collection="sex_list" property="label" labelProperty="value" />
</html:select>
という具合に <html:select>タグに name 属性でフォーム bean の名前を与えても、結局「Cannot find bean under name sex_list」なエラーが出てしまう。
collection 属性で指定する項目がどのフォームbean に含まれているか、<bean:define>タグで記述しないと駄目なようだ。
自分のブログを信じて、「name 属性で指定しているから大丈夫なはず」と思い込み、ハマって貴重な時間を無駄にしてしまった(^^;
コメント投稿
次の記事へ >
< 前の記事へ
TOPへ戻る
Powered by
MT4i 3.0.8