gpt4 book ai didi

java - Play 1.2.4 : Rendering XML in template

转载 作者:行者123 更新时间:2023-11-29 06:05:46 24 4
gpt4 key购买 nike

我最近升级到 Play 1.2.4,我相信以下票证的错误修复对我的一些代码产生了负面影响:

https://play.lighthouseapp.com/projects/57987/tickets/549-play-rest-xml-rendering-of-html-entities-issue

我相信上面实现的修复从 XML 字符串中转义了所有 HTML 实体 - 包括实际的 XML 结构本身。

所以 <someXml/>变成 &lt;someXml/&gt;

我遇到的问题是我使用模板将 XML 作为 API 调用提供服务,因此 XML 返回给调用者时已转义,因此无用。

我试过使用:

#{verbatim} ${ anObject.someXml } #{/verbatim}

和:

${ anObject.someXml.raw() } 

以原始格式获取 XML,但这不起作用。

导致此问题的代码部分可以在 groovy template 中找到__safeFaster方法(第 400 行)。

有谁知道我可以绕过这个新功能的方法吗?

最佳答案

正如在上面的问题中所讨论的,问题的原因在于 __safeFaster 方法 - 或者更具体地说,这一行:

if (template.name.endsWith(".xml"))
return StringEscapeUtils.escapeXml(val.toString());

为了解决这个问题,我们在相应的 Controller 中将响应 content-type 设置为 text/xml 并将模板扩展名更改为 .txt.

希望 Play 的开发者能在他们的下一个版本中解决这个问题。

关于java - Play 1.2.4 : Rendering XML in template,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8565466/

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