【问题标题】:Struts mapping failing on Tomcat 8Tomcat 8 上的 Struts 映射失败
【发布时间】:2020-02-12 06:52:52
【问题描述】:

我在部署战争时得到以下堆栈跟踪。但是,当我手动展开并部署它时,一切正常。

异常堆栈跟踪示例:

AuthorisationInterceptor.doAuthorisation: EXCEPTION TRAPPED e= No result defined for action com.myapp.oldapps.GenericOverview and result - No result defined for action com.myapp.oldapps.GenericSavingsOverview and result  - action - file:/C:/tomcat/Tomcat%208.0/webapps/products/WEB-INF/classes/struts-oldapps.xml:31:133
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:374)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:76)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:229)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)........

org.apache.tiles.definition.NoSuchDefinitionException: GenericOverview
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:625)
    at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:321)
    at org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:155)
    at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:193)
    at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
    at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)

Struts 定义: (struts-oldapps.xml)

<action name="GenericOverview" class="com.myapp.oldapps.GenericOverview" method="display">
            <result name="success" type="tiles">GenericOverview</result>
            <result name="kyc" type="tiles">GenericOverview</result>
            <result name="input" type="tiles">GenericOverview</result>
            <result name="error" type="tiles">BlockingError</result>
        </action>

瓷砖定义: (tiles-defs-oldapps.xml)

<definition name="GenericOverview">        
        <put-attribute name="Body" value="/jsp/app/generic/GenericOverview.jsp" />
    </definition>

我使用的是 Struts 2.3.35 版和 2.2.2 版

【问题讨论】:

    标签: java struts2 tomcat8 tiles apache-tiles


    【解决方案1】:

    好问题!!! 我想您需要为此指定定义配置,如下所示:

    在 gradle 中添加下面的部分(战争任务)

    来自('src/main/application/META-INF'){ 包括'**/*.xml' 进入“元信息” } 这会将保存在 META-INF 中的 application.xml 和其他 xml 文件复制到 WAR 中的父 META-INF 中。如果 META-INF 的位置不同,那么上面任务中的位置就会改变。

    另外,对于基于 struts 的应用程序,在 web.xml 中添加以下内容并运行 war 作业

        <context-param>
           <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
           <param-value>
             /WEB-INF/classes/tiles-defs.xml,
             ........
           </param-value>
        </context-param>
    

    希望对你有帮助!!!

    【讨论】:

      猜你喜欢
      • 2011-12-31
      • 2011-11-17
      • 1970-01-01
      • 2018-12-14
      • 1970-01-01
      • 2016-06-04
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多