gpt4 book ai didi

java - 如何在 freemarker 模板中转义来自 web 服务的数据中的 '&' ?

转载 作者:行者123 更新时间:2023-12-01 09:13:32 25 4
gpt4 key购买 nike

自由标记:

如果我的数据是:

x = [{
name= satyajit,
company = hewlett & packard
}, {
name= akanksha,
company = google & co
}]

以下是我想如何在 ftl 模板中访问上述列表。

${x}

但是,上面的代码会抛出一个错误:实体名称必须紧跟在实体引用中的“&”之后。

是否有办法转义数据中的“&”,例如 freemarker 模板中 Web 服务数据中“hewlett & packard”中的“&”?

编辑:

遇到的错误:

[Fatal Error] NewFile.xml:27:57: The entity name must immediately follow the '&' in the entity reference.
Exception in thread "main" org.xml.sax.SAXParseException; systemId: file:/D:/NewFile.xml; lineNumber: 27; columnNumber: 57; The entity name must immediately follow the '&' in the entity reference.
at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)

最佳答案

将文本 block 包装在 <#escape x as x?html> 指令中。

public static final String ESCAPE_PREFIX = "<#ftl strip_whitespace=true><#escape x as x?html>";

public static final String ESCAPE_SUFFIX = "</#escape>";

ESCAPE_PREFIX + templateText + ESCAPE_SUFFIX

引用:http://freemarker.org/docs/dgui_misc_autoescaping.html

http://watchitlater.com/blog/2011/10/default-html-escape-using-freemarker/

关于java - 如何在 freemarker 模板中转义来自 web 服务的数据中的 '&' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40758923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com