適切なリライティング・ルールが適用されたURLを作成します。
構文1: ボディ・コンテンツなし
構文2: ボディ・コンテンツに問合せ文字列パラメータを指定
<c:url>
はURLを処理し、必要に応じてリライトします。リライトされるのは相対URLのみです。外部URLがリライトされセッションIDが公開されてしまう状況を避けるために、絶対URLはリライトされません。したがって、クライアント開発者がセッションを追跡する場合は、<c:url>
で相対URLのみを使用し、ローカル・リソースにリンクする必要があります。
リライトは、サーブレットAPIのencodeURL()メソッドをコールして実行する必要があります。
エンコードする必要のある文字(空白など)がURLに含まれている場合は、ユーザーがエンコードを行ってください。
URLは、絶対URL(http://server/context/page.jspなど)、またはJSP 1.2のJSP.2.2.1「Relative URL Specification」で定義された相対URLのいずれかであることが必要です。そのため、スラッシュで始まるコンテキスト・パス(/page2.jspなど)をURLに付加し、URLがクライアント・ブラウザで正しく解釈されるようにする必要があります。
context属性を使用すれば、外部コンテキストのURLを指定できます。指定するURLは、/で始める必要があります(コンテキスト相対URLのため)。コンテキスト名も/で始める必要があります(これはコンテキストを識別するための標準的な方法です)。
このアクションで作成したURLはパス・パラメータとしてセッション情報を含んでいるため、サーブレットAPIのRequestDispatcherで使用すると、失敗する可能性があります。したがって、リライトされたURLのコンシューマは、RequestDispatcherをコールする前にセッションID情報を削除する必要があります。この問題は、<c:import>
で適切に処理できます。
デフォルトでは、現在のJspWriterにURL処理の結果が書き込まれます。var属性およびscope属性で定義したJSPスコープ変数として結果をエクスポートすることも可能です。
<c:param>
サブタグを<c:url>
のボディに指定して、URL問合せ文字列パラメータに追加することもできます。この場合、URL問合せ文字列パラメータは必要に応じて正しくエンコードされます。
JDeveloperのJSTLタグ・ライブラリについて
リファレンス: JavaServer Pages標準タグ・ライブラリ(JSTL)
Copyright © 1997, 2004, Oracle. All rights reserved.