gpt4 book ai didi

java - Velocity 1.7 - 有时 Directive.postRender 在 Velocity.evaluate 中抛出 NullPointerException

转载 作者:行者123 更新时间:2023-12-01 22:03:55 35 4
gpt4 key购买 nike

我在使用 Velocity 模板时遇到问题。对于我的模板中使用的 foreach 函数,它为 Directive.postRender 抛出 NullPointerException

奇怪的行为是,使用完全相同的模板和相同的输入数据,Velocity 能够成功完成评估过程。 百分之一的失败率。

有人可以分享见解吗?提前致谢!

版本:Velocity 1.7

java.lang.NullPointerException: null
at org.apache.velocity.runtime.directive.Directive.postRender(Directive.java:202) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.directive.Foreach.clean(Foreach.java:489) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:443) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.RuntimeInstance.render(RuntimeInstance.java:1378) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.runtime.RuntimeInstance.evaluate(RuntimeInstance.java:1314) ~[velocity-1.7.jar:1.7]
at org.apache.velocity.app.Velocity.evaluate(Velocity.java:254) ~[velocity-1.7.jar:1.7]

最佳答案

通过使用 Velocity.init() 更改代码来修复问题

VelocityEngine vc = new VelocityEngine();
vc.init();

第一个是单例实现,Velocity 可能会在多线程模式下丢失一些数据。通过将其更改为每次 pdf 生成调用使用新实例,它的工作方式就像一个魅力。

谢谢!

关于java - Velocity 1.7 - 有时 Directive.postRender 在 Velocity.evaluate 中抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58703727/

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