HTMLコメント内にJSP式を挿入する

クライアント側の HTML ソースコードにコメントを出力し、そのコメント内に JSP 式を挿入したい場合があります。注意すべき点は、HTML コメントはブラウザ側へ送信されるため、ユーザーが「ソースを表示」すると見えるということです。一方、JSP 式は先にサーバー側で評価され、その結果がレスポンスに書き込まれます。

JSP 構文

<!-- comment [ <%= expression %> ] -->

ここでの <%= expression %> は JSP 式です。式そのものが正当であれば、コメント内容の中に置くことができます。

例 1

JSP ページに通常の HTML コメントを書く場合:

<!-- This file displays the user login screen -->

クライアントから見える HTML ソースコードもそのままです。

<!-- This file displays the user login screen -->

例 2

HTML コメント内に JSP 式を挿入する場合:

<!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->

クライアントから見える HTML ソースコードは、評価後の内容になります。例えば次のようになります。

<!-- This page was loaded on January 1, 2000 -->

実際の日付と形式は、サーバーの実行環境、ロケール設定、そして式の戻り値によって異なります。現代の Java コードでは、すでに非推奨となっている Date#toLocaleString() の使用は通常避け、java.time や明示的な日付フォーマット方式に置き換えるべきです。

まとめ

この書き方は本質的には HTML コメントのままなので、ブラウザの「ソースを表示」に現れます。異なる点は、JSP 式がサーバー側で先に実行され、その結果がコメントテキストに埋め込まれることです。

また、/// ... / も一般的なコメント形式ですが、これらは JavaScript または CSS の構文であり、HTML コメントとしては機能しません。HTML コメントには <!-- ... --> を使用します。

Leave a Reply