-3

私はDBでいくつかの文字(", \)をUnicode値でエンコードしています(&#34; , &#92;)。これらのフィールドをHTMLで表示すると正常に表示されますが、 要素を入力すると、デコードされた値ではなく<input type="text">、実際の値で表示される情報がDBから取得されます。(&#34; , &#92;)(", \)

入力タイプのテキスト要素でUnicode文字のデコードされた値を表示するにはどうすればよいですか?

4

2 に答える 2

1

この出力をJsonとして扱うjqueryライブラリにフィールドをフィードしています。

次に、入力としてテキストを受け取る入力を入力するとき、および入力としてHTMLを受け取るval()ページの他の部分を入力するときに使用していると思います。html()

HTMLを含むJSONを送信しないでください。テキストを含むJSONを送信します。HTMLが必要なときにHTMLに変換します。HTMLをデータベースに保存しないでください。

これらの文字は、期待しているJSONオブジェクトを壊すので、すでにエスケープする必要があります。

HTMLではなくJSONとしてエンコードする必要があります。文字列をマッシュアップしてJSONを生成しようとしているのでない限り、この問題は発生しないはずです。そうしないでください。代わりにJSONライブラリを使用してください。

于 2012-09-10T08:44:12.070 に答える
0

htmlEscape入力フィールドでHTMLコンテンツサーバー側をエスケープしたのはSpringオプション(属性)であることが判明しました。

入力フィールドのその属性をfalseに設定すると、シーケンス&#34はエスケープされず、クライアントが受信した応答の文字は代わりになりました"

残念ながら、JSPの入力タイプタグがHTMLではなくSpring固有であることを質問で指定しませんでした。これは、問題の重要な要因であるとは思わなかったためです。

于 2012-09-10T10:24:16.300 に答える