上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

役に立ったらぽちっとよろしく。 人気ブログランキングへ

タグファイルとJSFは組み合わせては使えないのかと思っていたけど…最近はそうでもないらしい。JSP2.1からは、deferredValueやdeferredMethodなる属性がattributeディレクティブに指定できるっぽい。これで遅延評価式も使えるみたい。で、早速各タグファイルのJSPのバージョンを2.1に上げてglassfishでやってみたらエラー…。

java.lang.RuntimeException: org.apache.jasper.JasperException: /WEB-INF/tags/a.tag(7,16) PWC6327: タグファイルの <jsp:root> 要素の JSP バージョン 2.1 が、タグファイルと関連付けられた taglib のバージョン (2.0) と一致しません

英語メッセージはこんな感じ…。

java.lang.RuntimeException: org.apache.jasper.JasperException: /WEB-INF/tags/a.tag(7,16) PWC6327: JSP version 2.1 in tag file's <jsp:root> element does not match that of the tag file's associated taglib (2.0)

SunのサイトやらJSPの仕様書を見るとコンテナが互換性を意識してデフォルトではまだJSP2.0で動くのが原因とかなんとか…。ちなみに、おいらが使ってるのはglassfishの2.1。で、解決策は"implicit.tld"ってファイルをタグファイルのディレクトリに置いてその中でJSPのバージョンを2.1だって宣言すればいいとか…。以下はXML構文で書いたimplicit.tldの中身。

<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd" version="2.1"> </taglib>

ちなみに今回は、落とし穴にはまって、ググったんだけど…選んだキーワードが悪かったのかなかなか辿り着けなかったので、取り合えずのメモでした。

スポンサーサイト

役に立ったらぽちっとよろしく。 人気ブログランキングへ

コメント
この記事へのコメント
コメントを投稿する

トラックバック
この記事のトラックバックURL
この記事へのトラックバック
Copyright © ふらふら技術者の日記 All Rights Reserved.
Powered by FC2 Blog
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。