我正在用Java开发一个应用程序。我需要从对象中获取格式化的HTML数据,并将其显示在displaytag构造的表中。然而,似乎在默认情况下,displaytag通过escapeHTML来抑制内容的格式化,所以我的格式不能正确显示。
就像我使用格式化数据突出显示tag:<SPAN style='background-color:yellow;'></SPAN>中的匹配搜索词一样。搜索结果中显示的信息是文字语法。而不是单词的黄色背景。
如何取消转义HTML,使其可以显示突出显示的背景?
我已经准备好尝试使用escapeXml属性。但是,由于属性无效,应用程序失败。
谢谢,
发布于 2010-11-03 06:26:27
这很奇怪。根据XML转义,默认情况下禁用displaytag documentation。您确定在标记中的某个位置没有escapeXml="true"吗?
另一个原因可能是您正在使用JSTL <c:out>标记来显示单个值。默认情况下,它对XML进行转义。您可以通过将escapeXml="false"属性添加到标记来禁用它。
发布于 2010-11-03 05:14:36
我是否正确理解了您希望取消转义的HTML代码?你可以这样做:
public static String unescapeHtml(final String input){
return input
.replace("<", "<")
.replace(">", ">")
.replace("&", "&")
.replace(""", "\"");
}https://stackoverflow.com/questions/4081985
复制相似问题