適切なリライティング・ルールが適用されたURLを作成します。
構文
構文1: ボディ・コンテンツなし
構文2: ボディ・コンテンツに問合せ文字列パラメータを指定
属性
説明
<c:url>
はURLを処理し、必要に応じてリライトします。リライトされるのは相対URLのみです。外部URLがリライトされセッションIDが公開されてしまう状況を避けるために、絶対URLはリライトされません。したがって、クライアント開発者がセッションを追跡する場合は、<c:url>
で相対URLのみを使用し、ローカル・リソースにリンクする必要があります。
リライトは、サーブレットAPIのencodeURL()メソッドをコールして実行する必要があります。
エンコードする必要のある文字(空白など)がURLに含まれている場合は、ユーザーがエンコードを行ってください。
URLは、スキームで始まる絶対URL(「http://server/context/page.jsp」など)またはJSP.2.2.1「相対URL仕様」のJSP 1.2で定義された相対URLのいずれかである必要があります。結果として、こうしたURLをクライアント・ブラウザで正しく解釈されるように、実装により、URLの先頭にスラッシュで始まるコンテキスト・パス(「/page2.jsp」など)が追加される必要があります。
context属性を使用すれば、外部コンテキストのURLを指定できます。指定するURLは、/で始める必要があります(コンテキスト相対URLのため)。コンテキスト名も/で始める必要があります(これはコンテキストを識別するための標準的な方法です)。
このアクションで作成したURLはパス・パラメータとしてセッション情報を含んでいるため、サーブレットAPIのRequestDispatcherで使用すると、失敗する可能性があります。したがって、リライトされたURLのコンシューマは、RequestDispatcherをコールする前にセッションID情報を削除する必要があります。この問題は、<c:import>
で適切に処理できます。
デフォルトでは、現在のJspWriterにURL処理の結果が書き込まれます。var属性およびscope属性で定義したJSPスコープ変数として結果をエクスポートすることも可能です。
<c:param>
サブタグを<c:url>
のボディに指定して、URL問合せ文字列パラメータに追加することもできます。この場合、URL問合せ文字列パラメータは必要に応じて正しくエンコードされます。
注意: JSTL 1.1では、Java Servlet 2.4およびJavaServer Pages 2.0の仕様をサポートするJSPコンテナが必要です。JSTL 1.0仕様の実装には、Java Servlet 2.3およびJavaServer Pages 1.2の仕様をサポートするJSPコンテナが必要です。
JSTLタグの状況依存ヘルプを提供するため、JSTLタグ・ライブラリのドキュメントがApache Software Foundation(http://www.apache.org/)で作成され、JDeveloperに含まれています。また、JSTLタグおよび属性の説明を含む『JavaServer Pages Standard Tag Library 1.0 and 1.1 Specifications』を次のWebサイトからダウンロードできます。
http://www.jcp.org/aboutJava/communityprocess/final/jsr052/index2.html
JSTLの詳細は、次の外部リファレンスを参照してください。
『Java Sun JSTL Resources』ページ:
http://java.sun.com/products/jsp/jstl/
JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)
Copyright © 1997, 2009, Oracle. All rights reserved.