文件名以r开头时,Velocity模板无法正确呈现

时间:2011-08-16 11:21:37

标签: java apache velocity

我知道这很迷信,但我发现当模板文件名以r,t等字符开头时,我的模板无法正确呈现。当名称以i,a等开头时,相同的模板正确呈现。

此模板应为每个对象生成一个对象集合的java类。我每次渲染模板时都会传递对象的名称。文件名替换为对象的名称,它可以正常工作。但是类名(与上述文件名相同)未正确呈现。

有没有人见过这样的东西?是否存在不应成为模板名称一部分的关键字?

2 个答案:

答案 0 :(得分:1)

不,模板名称只是一个字符串,除非你有一些邪恶的自定义资源加载器喜欢弄乱你的脑袋。

哦,不,我从来没有听说过这样的事情,即使是在使用和研究Velocity的十年中也是如此。我想我可以肯定地说这是第一次。 :)

答案 1 :(得分:0)

经过很长一段时间,我重新审视了这一点,结果发现这是我的代码中的一个错误。作为渲染特定模板时我的一个动作的副作用,contextObject被重置。它与模板名称无关。

为什么r和t失败是因为副作用发生在名称以q开头的模板中。模板按字母顺序挑选。

所以一切都很好。速度确实很棒!