displaytag surpress HTML格式

时间:2010-11-02 20:51:01

标签: java jsp displaytag

我正在使用Java开发应用程序。我需要从对象中获取格式化的HTML数据并将其显示在displaytag构造表中。但是,似乎默认情况下,displaytag通过escapeHTML对内容进行格式化,因此我的格式无法正常显示。

就像我使用格式化数据突出显示标记中匹配的搜索词:<SPAN style='background-color:yellow;'></SPAN>。搜索结果中显示的信息是文字语法。而不是单词的黄色背景。

如何取消HTML以显示突出显示的背景?

我准备尝试使用escapeXml属性。但是,由于属性无效,应用程序失败。

谢谢,

2 个答案:

答案 0 :(得分:3)

这很奇怪。根据{{​​3}}默认禁用XML转义。您确定标签中某处没有escapeXml="true"吗?

另一个原因可能是您使用JSTL <c:out>标记来显示单个值。它默认情况下转义为XML。您可以通过向代码添加escapeXml="false"属性来停用它。

答案 1 :(得分:0)

我是否正确理解您要取消转义的HTML代码?你可以这样做:

public static String unescapeHtml(final String input){
    return input
        .replace("&lt;", "<")
        .replace("&gt;", ">")
        .replace("&amp;", "&")
        .replace("&quot;", "\"");
}