プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

JSPで<%リテラルをエスケープする方法:バックスラッシュによる対処法

JSPで<%リテラルをエスケープする方法

JSPページ内で「<%」というリテラルをそのまま画面に表示したい場合、そのまま記述するとスクリプトレットの開始タグとして解釈され、エラーが発生してしまいます。

バックスラッシュでエスケープする

解決策はとてもシンプルです。バックスラッシュ(\)を使ってエスケープし、「<%」を「<\%」に置き換えるだけです。同様に、終了タグの「%>」を表示したい場合は「%\>」と記述します。

以下に実際のコード例を示します。

<html>
<head>
<title>A Comment Test</title>
</head>
<body>
<h2>Syntax: <\%= (new java.util.Date()).toLocaleString() %\></h2>
<p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
</body>
</html>

この例では、<h2>タグ内の「<\% ... %\>」はエスケープされているため、JSPコンテナはこれをJavaコードとして実行せず、構文がそのまま文字列としてブラウザに表示されます。一方、<p>タグ内の「<% ... %>」は通常のスクリプトレットとして処理され、現在の日時が出力されます。

ポイントまとめ

  • 「<%」を表示したい場合:「<\%」と記述する
  • 「%>」を表示したい場合:「%\>」と記述する
  • エスケープされた部分はJavaコードとして評価されず、純粋なテキストとして出力される
  1. JSPでパラメータ化されたSQLクエリを使う方法|sql:paramタグの基本と実践例

    <sql:param> タグは、<sql:query> タグや <sql:update> タグの入れ子(ネスト)アクションとして使用され、SQL文内の値プレースホルダー(?)に実際の値を渡すためのものです。null値が指定された場合は、プレースホルダーに SQL NULL が設定されます。 属性一覧 <sql:param> タグには、以下の属性が用意されています。 属性説明必須デフォルト値 value設定するパラメータの値いいえタグのボディ(本文) 実行例 基本的な概念を理解するために、まず TEST データベース内に Employe

  2. 「このページのスクリプトでエラーが発生しました」エラーの原因と5つの解決方法

    「このページのスクリプトでエラーが発生しました」というスクリプトエラーは、今でも多くのインターネットユーザーを悩ませています。この問題はWebブラウザだけにとどまらず、Internet Explorer(IE)のスクリプトを利用するさまざまなアプリケーションでも報告されています。また、Windows 7、Windows 8.1、Windows 10など、最近のWindowsバージョンすべてで発生が確認されており、特定のOSバージョンに限定された問題ではありません。「このページのスクリプトでエラーが発生しました」エラーの主な原因本記事では、多数のユーザーレポートと、実際に問題解決に成功した修復方