Archive Redo Blog

DBエンジニアのあれこれ備忘録


テーマ:
Tomcat を 5.5.27 にバージョンアップすると 一部の JSP で以下のようなエラーが出るようになりました。

Attribute value "~" is quoted with " which must be escaped when used within the value ...

どうやら Tomcat5.5.27 から JSP のスクリプトレットなどの中でクォートを使用する際にエスケープが必要になったようです。

そのため、既存の JSP の中にクォートをエスケープしていないものがあった場合、上記のようなエラーが発生するようです。

このエラーを解消するには、JSP ファイルを修正するのが筋ですが、既に稼働中のシステムについては、修正とテストにかなりの労力を必要とする上に、修正ミスによって不具合が発生するリスクもあります。

幸いなことに、このエラーは、システムプロパティ org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING に false を設定して、旧バージョン互換の動作にすることで解消することもできるようですので、既に稼働中のシステムの場合は、こちらの方法で対応したほうがリスクが少なくてよさそうです。

ちなみに、システムプロパティ org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING は、

  1. VM の引数に -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false を設定する。
  2. CATALINA_OPTS 環境変数に -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false を設定する。
  3. $TOMCAT_HOME/conf/catalina.properties に org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false を設定する。
のいずれかの方法で設定できます。

AD
いいね!した人  |  コメント(0)  |  リブログ(0)

arbさんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

最近の画像つき記事  もっと見る >>

AD

ブログをはじめる

たくさんの芸能人・有名人が
書いているAmebaブログを
無料で簡単にはじめることができます。

公式トップブロガーへ応募

多くの方にご紹介したいブログを
執筆する方を「公式トップブロガー」
として認定しております。

芸能人・有名人ブログを開設

Amebaブログでは、芸能人・有名人ブログを
ご希望される著名人の方/事務所様を
随時募集しております。