【问题标题】:Date format is not in proper format while downloading using velocity template使用速度模板下载时日期格式不正确
【发布时间】:2019-05-14 22:28:59
【问题描述】:

我有预定义的速度模板(.vm 文件),它被读取以创建和下载为 xml 文件。该模板有一个日期字段,其值被分配为6/5/19 5:21 PM,但是当它以 xml 格式下载时,它显示为6/5/19 5:21 PM

vm 文件中的目标代码。

<StatusDate>$!object.statusDate</StatusDate>

请指导我解决此问题。 谢谢!

【问题讨论】:

  • 看起来斜杠和冒号被转义为xml-entities。这不是 Velocity 做的,所以必须有一些配置或工具来做到这一点。

标签: java xml velocity


【解决方案1】:

正如 Sascha 在他的评论中所说,这种编码可能是在速度渲染之后完成的。

但它也可以在渲染过程中完成,通常由Reference Insertion Handler 完成,该对象为每个渲染的引用值调用。必须使用配置键eventhandler.referenceinsertion.class 针对 Velocity 注册此类处理程序。例如:

eventhandler.referenceinsertion.class = org.apache.velocity.app.event.implement.EscapeXmlReference

【讨论】:

  • 我已经添加了代码来通过扩展 EscapeXmlReference 来转义特殊字符。但我认为不会考虑反斜杠或冒号,只有这些: & " '
猜你喜欢
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 2020-05-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多