升级到 Velocity-tools 3.1:在 /WEB-INF/toolbox.xml 找不到任何配置

问题描述 投票:0回答:1

我正在从 struts2-core 2.5.22 -> struts2-core 6、velocity-engine-core 1.7 ->velocity-engine-core 2.3 和velocity-tools 2.0 ->velocity-tools-generic 3.1 升级我的项目 在以前的版本中,我的 toolbox.xml 工作正常(位置 = /WEB-INF/toolbox.xml),升级到新版本后出现此错误:

java.lang.RuntimeException: Could not find any configuration at /WEB-INF/toolbox.xml
    org.apache.velocity.tools.ToolManager.configure(ToolManager.java:129)
    org.apache.struts2.views.velocity.VelocityManager.initToolbox(VelocityManager.java:376)
    org.apache.struts2.views.velocity.VelocityManager.init(VelocityManager.java:197)
    org.apache.struts2.views.velocity.result.VelocityResult.doExecute(VelocityResult.java:128)
    org.apache.struts2.result.StrutsResultSupport.execute(StrutsResultSupport.java:206)
    com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:363)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:280)
    org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:179)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:49)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:99)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    org.apache.struts2.interceptor.FetchMetadataInterceptor.intercept(FetchMetadataInterceptor.java:76)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    org.apache.struts2.interceptor.CoopInterceptor.intercept(CoopInterceptor.java:57)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    org.apache.struts2.interceptor.CoepInterceptor.intercept(CoepInterceptor.java:56)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:251)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.doIntercept(ConversionErrorInterceptor.java:143)

您可以在此处找到我正在尝试使用的示例

我尝试在 web.xml 中使用默认工具配置

<context-param>
  <param-name>org.apache.velocity.tools.loadDefaults</param-name>
  <param-value>true</param-value>
</context-param>

但这对我的浏览器中的这个没有帮助 enter image description here

任何帮助将不胜感激!

struts2 velocity velocity-tools
1个回答
0
投票

您使用了错误的文件路径

toolbox.xml
。该位置是根据类路径确定的。如果你看
default.properties

该框架使用了许多可以更改的属性来满足您的需求。要更改任何这些属性,请在

default.properties
文件中指定属性键和值。属性文件可以位于类路径上的任何位置,但通常可以在
/WEB-INF/classes
下找到。

© www.soinside.com 2019 - 2024. All rights reserved.