jspテンプレートデータで\\\\ $を\ $に変換
質問
JSPコードに奇妙なことに出くわしました。二重バックスラッシュとそれに続くドル記号またはパーセント記号は、単一のバックスラッシュ(プラス記号)に変換されるようです。
つまり、次のJSP:
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
\\#
\\$
\\%
\\^
次のようにレンダリングされます:
\\#
\$
\%
\\^
JDK 1.6.0_02とApache Tomcat 5.5.23および6.0.16(2台のマシン)を使用しています。
これはTomcatのバグですか? JDK?または、JSP仕様のあいまいなオプションに準拠していますか?仕様を調べてみましたが、有用なものが見つかりませんでした。
回避策は非常に簡単で、バグの場合はバグを報告すると思っただけです。
編集:ええ、stackoverflowはバックスラッシュも破壊します
解決
\ $は spec にあります(JSP.1.6セクション)。 <!> quot;ページでELが有効になっている場合のみ...、リテラル$は\ $で引用できます。
<!> quot;リテラルの<!> lt;%が<!> lt; \%<!> quot;で引用されているため、\%はおそらくそうなります。パーサーが<!> ltをチェックしていないと思われます。 \%の前。
所属していません StackOverflow