データベースから文字列を取得するWebアプリケーションがあります。この文字列は非常に長くなることがあり、キャリッジリターンと二重引用符を含むことがあります。JavaScriptを使用して文字列を割り当てる
私の問題は、バックエンドでこの文字列をプルして、JavaScriptを使用してJSPページに表示しようとした後に、いくつか問題が発生します。 (ところで、アプリが使用するStruts2の)
最初のアプローチ:
<% String myString = (String)request.getAttribute("myVar"); %>
<script LANGUAGE="JavaScript">
document.getElementById('myTextArea').value =' <%= myString %> '; //this uses single quote
</script>
問題:
これがキャリッジリターンと非常に長い文字列(1000+チャー)と文字列を表示することができないが、文字列を表示することができます二重引用符を含む
第二のアプローチ:
<% String myString = (String)request.getAttribute("myVar"); %>
<script LANGUAGE="JavaScript">
document.getElementById('myTextArea').value = " <%= myString %> "; //this uses double quotes
</script>
問題:
これは、二重引用符とキャリッジリターンと文字列と文字列を表示することはできませんが、それは非常に長い文字列(1000 +文字)を扱うことができます。
引っ張った文字列を表示するには、二重引用符と非常に長いキャリッジリターンが含まれていますか?
おかげで、これを行うためにJavaScriptを使用する理由
プレーンな文字列として書き出さないでください。生の文字列のJSメタキャラクタはJS構文エラーの原因になります。構文上有効なJSコードであることを保証するJSON文字列として出力します。 –
プレーンなJavaScriptを使ってこれを処理する方法はありますか? – user1174960
これは「プレーンなjavascript」とは関係がありません。これは、サーバーサイドのコードでJavaScript文字列を出力する方法の問題です。サーバーが構文エラーでJSコードブロックに文字列を出力する場合、スクリプトは実行されません。 –