0

Spring MVC 3.2 のモデルに JSON 文字列を追加するコントローラーがあります。

@RequestMapping(value = "/")
public String myController(Model model) {
    model.addAttribute("jsonData", "{\"foo\":\"bar\"}");
    return "views/myView";
}

ビューは JavaScript 関数内で JSON を使用します。

<script type="text/javascript">
    function doSomething () {
        var myObject = <c:out value="${jsonData}" />;
    }
</script>

理想的には次のようになります。

<script type="text/javascript">
    function doSomething () {
        var myObject = {"foo":"bar"};
    }
</script>

出力は HTML エンコードされているため、ブラウザには次のように表示されます。

<script type="text/javascript">
    function doSomething () {
        var myObject = {&#034;foo&#034;:&#034;bar&#034;};
    }
</script>

文字列が HTML エンコードされないようにするにはどうすればよいですか?

4

2 に答える 2

2

を使用しないでください<c:out>。そのユニークで唯一の効果は、HTML 特殊文字を正確にエスケープすることです。

function doSomething () {
    var myObject = ${jsonData};
}
于 2013-08-26T20:42:03.563 に答える
1

あなたが試すことができます<c:out escapeXml="false" value="${jsonData}" />

于 2013-08-26T20:43:28.993 に答える