- - PR -
JSPでタグライブラリがロードできない。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-21 17:59
JetspeedのポートレットにJSPを表示させたいと思っています。
そのJSPではタグライブラリを利用しています。 しかし上手くそのライブラリがロードできません。 まず環境を記します。 ------------------------------------------------------ OS : Mac OS X Server 10.4 Tomcat バージョン: 4.1.29 Jetspeed バージョン:jetspeed-japan-1.5_ja_2 ------------------------------------------------------ Windows2000上で バージョンの異なるTomcat(5.0.16)、 同じバージョンのJetspeedを用いています。 開発とテストはそこで行い、 上述のMacにプログラムを移植して確認しています。 あるポートレットには簡単なJSPを表示させます。 そのJSPでは最初に次のような宣言をしており、 /WEB-INF/templates/jsp/tld 内に収容したtldを利用しています。 <%@ taglib uri="/WEB-INF/templates/jsp/tld/sql.tld" prefix="sql" %> JSP内ではこのtldを通常どおり(次のように)利用しています。 <sql:setDataSource 〜 /> Windows上では、 単に @ このJSPを作成し、 A /WEB-INF/templates/jsp/tld 内にtldファイルを配置するだけで思った動きをしました。 一方、それと同じ方法ではMac上(上記環境)では上手く動きませんでした。 web.xmlにこのtaglibについて記載しなければならなかった、と思い まず TOMCAT_HOME/webapps/jetspeed-japan/WEB-INF/web.xml に 次に TOMCAT_HOME/web,xml に次のように記してみました。 <taglib> <taglib-uri>/WEB-INF/templates/jsp/tld/sql.tld</taglib-uri> <taglib-location>/WEB-INF/templates/jsp/tld/sql.tld</taglib-location> </taglib> しかしどちらのweb.xmlに記載しても上手くはいきませんでした。 エラーの内容は「setDataSourceがロードできません」というものです。 他に何をすべきか、何かアドバイスをいただけないでしょうか。 何卒よろしくお願い申し上げます。 |
|
投稿日時: 2005-12-23 10:57
こんにちは。
念のため確認しますが、jstl.jarとstandard.jarにはクラスパスが通っていますよね? あと、sqlだけでなく、coreやfmtなど他のタグライブラリも使えないのでしょうか? |
|
投稿日時: 2005-12-26 16:42
お世話になっております。
jstl.jar と standard.jar が格納されているディレクトリが 環境変数CLASSPATHとして設定されていればよろしいでしょうか。 ちなみにその状態で、 同じtldディレクトリに格納されているその他のタグライブラリも 呼び出せません。 よろしくお願い申し上げます。 |
|
投稿日時: 2005-12-26 19:09
Tomcat全体で共有するなら、{TOMCAT_ROOT}/common/lib (だったかな?)に、
そのアプリケーション固有のものとするなら、{WEB_APP}/WEB-INF/lib にjstl.jarとstandard.jarを配置しなければなりません。 みてると、なんとなくこれらのライブラリがないように思います。 jstl.jarとstandard.jarは、Tomcatには標準で付いて来なかったと思いますので、特別にインストールした記憶がないなら、おそらく入ってないでしょう。 その際は、java.sun.comからJWSDPをダウンロードして来てください。 |
|
投稿日時: 2005-12-27 07:59
報告です。
大変失礼致しました。 恥ずかしくて申し訳ないのですが・・・・・・ 私はJetspeedを利用しているので TOMCAT_HOME/webapps/jetspeed-japan/WEB-INF/lib にjstl.jarやらstandard.jarやらpostgresのドライバやらを 反映しなければいけなかったところ それを最初に忘れていたらしく、 (以前は反映していたのですが 再度やり直したときに漏れていたようです。 恥ずかしいことに、入れたとばかり思い込んでおりました。) それらを格納しただけで解決しました。 つまり私のうっかりミスと、完全な思い込みによる問題だったのです。 大変恥ずかしく思います。すみません。 結局、/etc/bashrcに記載していたCLASSPATHを消しても TOMCAT_HOME/webapps/jetspeed-japan/WEB-INF/web.xml から<taglib>の記載を消しても問題なく表示されました。 Windowsと同様に、 @ JSPに<%@ taglib uri="/WEB-INF/templates/jsp/tld/sql.tld" prefix="sql" %> といった宣言をし、 A そのuriに実際のtldファイルを格納すれば Macでも問題なく表示できています。 どうもありがとうございました。 以後気をつけます。 |
1