クライアント側の 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 コメントには <!-- ... --> を使用します。
