2013-08-26 16 views
0

我有一個控制器,增加了一個JSON字符串到模型在Spring MVC 3.2:如何在Spring MVC中將未編碼的字符串寫入視圖?

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

和視圖使用JSON的JavaScript函數中:

<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編碼?

回答

2

只要不使用<c:out>,因爲它的獨特和唯一的作用恰恰是HTML特殊字符轉義:

function doSomething() { 
    var myObject = ${jsonData}; 
} 
+0

*捂臉*我知道這是一件非常簡單我失蹤。 >; o)謝謝。 – asgallant

1

您可以嘗試<c:out escapeXml="false" value="${jsonData}" />

+0

對於那些尋找答案,這也適用,但接受的答案更簡單。 – asgallant

相關問題