質問

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をチェックしていないと思われます。 \%の前。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top