は、私はいくつかのJSPのvar fooのエスケープ文字jsの関数に、JSPのVARを渡すとき
<c:set var="foo" value="foo's bar"/>
を持っていると私は、これは明らかにエラーに
missing) after argument list
が生成されます、次のjsに
<script>
new SomeFunction('${foo}');
</script>
を持っていると言います
ステートメントは
new SomeFunction('foo's bar');
しかし、fooの値にも同じ問題が発生する文字列に二重引用符が含まれる可能性があるので、引数$ {foo}を二重引用符で囲む必要はありません。 fooはどんな文字列でもかまいません。私はそれをfooのバーに設定するだけなので、例は明らかです。現在、私はそうのような問題を解決しています:
<script>
new SomeFunction('<c:out value="${foo}"/>');
</script>
とSomeFunction内:
SomeFunction = new function(foo) {
$(someSelector).text($("<div/>").html(foo).text());
}
このソリューションは、動作しているようです - 私はいくつかのコーナーケースが欠落していないよと仮定します。しかし、私はこれが最善の解決策であるとは確信していません。改善のための代替案や提案はありますか?その一時的なdivを使用することは、私にはハックのようなもので、必要のない解決策が好まれます。
はない[エスケープ()](https://developer.mozilla.org/en/DOM/window.escape)動作しますか?そして、 'unescape()'を使って逆変換してください。 – sinemetu1
可能なdupe:[JSPでアポストロフィや引用符をエスケープする方法(Javascriptで使用)](http://stackoverflow.com/questions/1470768/how-to-escape-apostrophe-or-quotes-on-a-jsp) -used-by-javascript) – tkone
[JSP内から一重引用符をエスケープする方法は?](http://stackoverflow.com/questions/9708242/how-to-escape-a-single-quote-from -within-a-jsp) – BalusC