displaytag 抑制 HTML 格式

发布于 2024-10-01 00:55:34 字数 345 浏览 4 评论 0原文

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

就像我使用格式化数据来突出显示标签中匹配的搜索词一样:。搜索结果中显示的信息是文字语法。而不是该词的黄色背景。

如何取消转义 HTML 以便它可以显示突出显示的背景?

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

谢谢,

I am working on an application in Java. I need to take the formated HTML data from an object and display it in a displaytag constructed table. However, it seems like by default, displaytag supress the formatting by escapeHTML the content so my format won't display properly.

Like I used the formatted data to highlight the matching search words in tag: <SPAN style='background-color:yellow;'></SPAN>. The infomation displayed in the search result was literal syntax. instead of the yellow background of the word.

How can I unescape the HTML so it can display the highlighted background?

I am ready tried to use the escapeXml attribute. However, the app failed due to invalid attributes.

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

音盲 2024-10-08 00:55:34

这很奇怪。根据 displaytag 文档 默认情况下禁用 XML 转义。您确定标签中没有 escapeXml="true" 吗?

另一个原因可能是您使用 JSTL 标记来显示各个值。默认情况下它会转义 XML。您可以通过向标记添加 escapeXml="false" 属性来禁用它。

That's odd. As per displaytag documentation XML escaping is by default disabled. Are you sure that you don't have escapeXml="true" somewhere in the tags?

Another cause could be that you're using JSTL <c:out> tag to display individual values. It does by default escape XML. You can disable it by adding escapeXml="false" attribute to the tag.

沧桑㈠ 2024-10-08 00:55:34

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

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

Do I understand correctly that you want to un-escape escaped HTML code? You can do it something like this:

public static String unescapeHtml(final String input){
    return input
        .replace("<", "<")
        .replace(">", ">")
        .replace("&", "&")
        .replace(""", "\"");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文