JSTL

感想おまちしてます!

standard.jarとjstl.jarのセットでインストールする。
tldファイルはStandard.jarに入っている。

スポンサーリンク

トラブル

NoClassDefFoundErrorが発生

JSTLを使ったJSPを表示しようとしたらNoClassDefFoundErrorが発生した。

java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/ConditionalTagSupport

standard.jarのみいれていたら上記エラーが出る。

TLD又はタグファイル中のattribute指示子に従って属性testはどんな式も受け付けません 

c:ifタグでEL式を使ったら「TLD又はタグファイル中のattribute指示子に従って属性testはどんな式も受け付けません」と怒られた。

調べてみると、Servlet 2.4/JSP
2.0でJSTL1.0は使えないからこんな感じになるらしい。現在使っているのはTomcat6(Servlet2.5/JSP2.1)なので、同じよ
うにいくかなとおもったら、動かない。Servlet2.4にweb.xmlを書き換えても動かない。

ためしに、JSTLをダウンロードしたときに「standard-examples.war」というのがあったので、Tomcat5.5で動かしてみる。動いた。

そこで、web.xmlの書き方を合わせ、Taglibの定義を削除してみたすると動いた。Tomcat6.0でServlet2.5のweb.xmlでも動いた。JSTLの設定はweb.xmlに必要ないのかも知れない。

また、Eclipse3.3からWTPを使ってデプロイしているが、web.xmlの修正などを行うと、反映されているか怪しい。なんで、
Serverビューで対象のサーバを右クリック>Clean Tomcat Work
Directryをすると、ワークディレクトリのクリアからサーバ再起動までやってくれるのでうまく反映される。