0

私はgrailsフレームワークを使用しており、次のアクションがあります:

def showText () {
    def myInstace = User.get(params.id)
    def myText = myService.getText(myInstance.id)
    render (text: myText, encoding: "UTF-8", contentType: "text/plain")
}

cUrl を使用してこのメ​​ソッドによって返されたデータを確認しようとすると、許容できるものが得られるため、上記は正常に機能します。

cUrl から

The (<b>quick</b>) [brown] {fox} jumps!
Over the $43,456.78 <lazy> #90 dog
& duck/goose, as 12.5% of E-mail
from aspammer@website.com is spam.
Der ,,schnelle” braune Fuchs springt
iiber den faulen Hund. Le renard brun
<<rapide» saute par-dessus le chien
v ‘$5’ paresseux. La volpe marrone rapida
“TATVPKOY ‘~35 salta sopra_1l cane pigro. El zorro

“ marron répido salta sobre el perro
perezoso. A raposa marrom rzipida
salta sobre o e50 preguicoso.

ただし、これがモーダルボックスに読み込まれると、次のようになります。

  The (quick) [brown] {fox} jumps! Over the $43,456.78 #90 dog & duck/goose, 
  as 12.5% of E-mail from aspammer@website.com is spam. Der ,,schnelle” 
  braune Fuchs springt iiber den faulen Hund. Le renard brun <

私のjQueryコードは十分に単純です:

$('a[id^="myText"]').click (function () {
   $.post($(this).data('url'), function (data){
      $("#msg").html(data);
   });
   $('#showText').modal()
});

それで、私は何が間違っているのか理解できないようですか?上記のコンテンツは、モーダル ボックスとして表示される div に読み込まれます。さらに、私config.groovyの UTF-8 設定があります。

grails.views.gsp.encoding = "UTF-8"
grails.converters.encoding = "UTF-8"
4

1 に答える 1

1

<b>, <lazy>, <rapide>テキストは、html タグと見なされるhtml 形式に自動的に転送さ<<rapideれ、レンダリングされると、形式エラーが発生します。

解決策は、次のように、コントローラーの render メソッドを StringEscapeUtils.unescapeHtml メソッドで変更することです。

render (text: StringEscapeUtils.unescapeHtml(myText), encoding: "UTF-8", contentType: "text/plain")
于 2013-01-10T05:29:38.607 に答える