weblog of key_amb

主にIT関連の技術メモ

Tomcat+JSTL(EL)でハマったこと

ELが評価されない

『独習Javaサーバサイド編』に従って、Tomcatの勉強をしています。

Tomcat5.5でJSTLを使っていたのですが、EL(式言語)が評価されないで困りました。
${args}の記述が変換されずにそのまま出力されてしまいます。


いろいろググっても、大抵、「web.xmlでバージョンを2.4に指定する」としか書いていません。

あれこれライブラリを入れたり、web.xmljsp-configやtag-libをいじったりしましたが、どうも動きません。

http://jakarta.apache.org/site/downloads/downloads_taglibs.html
↑からサンプルをダウンロードできますが、こちらは動きました。
ただし、少しいじるとweb.xmlでlistenerに指定しているクラス(org.apache.taglibs.standard.examples.startup.Init)が見つからないといって、コンテキストがロードできなくなってしまいます。

結局、これは解決できませんでした。


最終的には、Tomcatのバージョンを6.0に上げたら動きました。

どうなってるんだか。。

「名前 jdbc はこのコンテキストにバインドされていません」

MySQLで接続していたときに出くわしたエラーです。

これはserver.xmlのコンテキスト内に接続情報を記述することで解決しました。

http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/jndi-datasource-examples-howto.html


EclipseTomcatプラグインの設定で、server.xmlでの設定とコンテキストファイルでの設定の2種類がありますが、前者を選んだ場合は、このような対処が必要になるものと思われます。