0

フロントエンドに Dojo とプレーンな JavaScript を組み合わせて使用​​する Java EE Web アプリケーションに取り組んでいます。

ResourceBundle プロパティを JavaScript で使用すると、場合によってはコードが壊れてしまうことがわかりました。具体的には、これは、プロパティに引用符 (一重および二重) とエスケープ シーケンス (\n、\s ...) が含まれている場合に発生します。

解決策は、余分なエスケープ文字を含めることです。たとえば、Js アラートで改行を正しくレンダリングするために \n を使用する場合は、\n の前にもう 1 つスラッシュ (\\n) を追加する必要があります。

上記の問題に対するこれまでの解決策は、プロパティ ファイル自体に余分なエスケープ文字を挿入することでした。しかし、これは私たちが離れたいものです。これは広範囲に及ぶ問題のように思われます。この問題をどのように解決したかについて、専門家の意見をお聞きしたいと思います。

現在の使用状況:key=A newline is represented with \\n and this \" is within quotes \".

想定される使用法:key=A newline is represented with \n and this " is within quotes ".

PS: 通常、<fmt:message>タグを使用して、フロント エンドでこれらの値にアクセスし、javascript で使用します。

4

1 に答える 1

0

StringUtils の使用を検討してください。あなたのような入力をエスケープする方法がある場合。

http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringEscapeUtils.html#escapeJava(java.lang.String)

于 2012-12-21T11:01:24.990 に答える