JSTLインポートをコピーしたJSF 1.2ベースのWebアプリケーションがあります。
xmlns:c="http://Java.Sun.com/jstl/core"
このインポートは、インターネット上の多くの場所でも見つけることができます。上記が私の以前のWebプロジェクトで機能したかどうか覚えていませんが、いずれにしても、現在のJSF 2.0ベースのWebアプリケーションでは機能しません機能しません 。コンテナから次のような警告が表示されました。
警告:このページでは、XML名前空間 http://Java.Sun.com/jstl/core がプレフィックスcで宣言されていますが、その名前空間にタグライブラリが存在しません。
次に、インポートを
xmlns:c="http://Java.Sun.com/jsp/jstl/core"
... JSF/RichFacesベースのWebアプリケーションで<c:forEach>
を使用してすべての頭痛の種を取り除きました。
ここでの秘訣は何ですか? JSTLインポートURLにJSF 1.2から2.xへの変更はありますか?または前の行は一般的に間違っていますか(JSFで)? 2つの違いは何ですか?
JSTL wikiページを確認してください: https://stackoverflow.com/tags/jstl/infojstlにカーソルを合わせると、このようなページが表示されます 黒いボックスがポップアップするまで質問の下にタグを付け、次にinfoリンクをクリックします。
Facelets 1.xと2.xがJSTLタグライブラリに異なる名前空間を使用することは事実です。これは、Facelets 1.xでは名前空間 bug でしたが、Facelets 2.xでは修正されました。
http://Java.Sun.com/jstl/core
を使用します。http://Java.Sun.com/jsp/jstl/core
を使用します。http://Java.Sun.com/jstl/core
を使用します。http://Java.Sun.com/jsp/jstl/core
を使用します。http://xmlns.jcp.org/jsp/jstl/core
を使用します。すべてのFacelets 2.xタグは Faceletsタグライブラリのドキュメント にあります。 Faceletsは、完全なタグが 実際のJSTL taglib として設定された状態で出荷されません。いくつかの<c:xxx>
と<fn:xxx>
のフルセットのみがFaceletsにコピーされます。 <fmt:xxx>
、<sql:xxx>
、<xml:xxx>
タグはFaceletsでは引き継がれません。