JSPの"jsp:useBean"における"class"と"type"

| コメント(0) | トラックバック(1)

JSPで'ServletException: bean not found within scope'というエラーが出るという問い合わせを受けて、ちょっと調べた。原因は"jsp:useBean"タグで"class"を指定せずに"type"をしていて、かつ"scope"で指定されているスコープ中にBeanが見つからなかったこと。

"jsp:useBean"タグでの"class"と"type"の違いをちゃんと理解してなかったんだけど、こういうことみたい。

・"class"はスコープ中にBeanが見つからずにnewするときのクラス名。
・一方、"type"はランタイムの型。つまり、"Car myCar = new Ferrari()"の場合、"type"は"Car"、"class"は"Ferrari"。
・よって、"type"はインターフェースや抽象クラスもあアリ。
・スコープ中にBeanが保持されて無いのに"type"だけを指定して"class"を指定しないと、'ServletException: bean not found within scope'が発生。ランタイム型が指定されていても、newするための"class"が指定されていないと、オブジェクトを生成できないから。

ちゃんと基本を理解しないとダメですね。

トラックバック(1)

トラックバックURL: http://www.yusukeoi.net/toraba.cgi/679

Nikkor 70 300mm f 4 5 6 g review - Digital anarchy (2008年9月25日 16:10)

Digital anarchy 続きを読む

コメントする

Google Adsense

アーカイブ

なかのひと

なかのひと

2010年2月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28            

Profile

大井雄介 / Yuhsuke Ooi
gmail