我有一个带有以下代码的弹簧控制器:
@RequestMapping(value="/getMessage.htm", method=RequestMethod.POST)
protected String uploadFile(ModelMap model){
//... other codes
model.addAttribute("theMessage", "Hello world <b>how are you</b> today?");
return "the-view";
}
在客户端(JavaScript)中,我使用以下代码显示此消息:
document.getElementById('theMessageSpan').innerHTML = '<c:out value="${theMessage}"/>';
但是显示时,它显示的是字符串文字
Hello world <b>how are you</b> today?
我需要显示以下消息:
Hello world
你好吗today?
在将文本放入
StringEscapeUtils.unescapeHtml
之前,我尝试使用apache commons的ModelMap
,但是结果是一样的。有什么想法吗?
最佳答案
我相信默认情况下<c:out>
转义XML。您需要明确地告诉它不要
<c:out escapeXml="false" value="${theMessage}"/>
找不到较新的文档,但请参见here。在属性中,您有
escapeXml
确定结果中是否包含字符,&,',“
字符串应转换为其相应的字符实体
代码。默认值为true。