作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
VelocityTools Tools Usage Summary和 the DateTool Javadoc似乎表明设置时区的配置机制,但我根本无法发现那是什么。
DateTool 的时区 setter 是protected
,我不想重复将 TimeZone 传递到重载的 format()
方法中。
(速度工具 2.0)
最佳答案
要将配置值传递给标准工具,您必须在 WEB-INF/tools.xml 文件中明确列出它们:
<?xml version="1.0"?>
<tools>
<toolbox scope="application">
<tool key="date"
class="org.apache.velocity.tools.generic.DateTool"
timezone="GMT+7"/>
...
</toolbox>
...
</tools>
请注意,您可以将 org.apache.velocity.tools.generic.ComparisonDateTool 用于相同目的,它添加了一些不错的日期时间比较功能。
如果您不依赖于 VelocityView 工具加载机制,则意味着您将自己将工具置于 Velocity 上下文中。如果是这样,那么配置值将手动提供给工具 configure(Map)。例如:
Map<String,String> config = new HashMap<>();
config.put(DateTool.TIMEZONE_KEY,"GMT+7");
DateTool date = new DateTool();
date.configure(config);
VelocityContext context = new VelocityContext();
context.put("date", date);
关于velocity - 如何为 VelocityTools DateTool 设置时区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11907365/
我是一名优秀的程序员,十分优秀!