简体   繁体   中英

Caused by: There is no result type defined for type 'chain' mapped with name 'success'

Exception while trying with Chaining.Exception comes here

<action name="chain1" class="leo.struts.Chain1Action">

<!-- Chain Result configuration starts -->
    <package name="interceptorpackage">
        <interceptors>
            <interceptor name="chainingintercept1" class="leo.struts.SimpleInterceptor" />
            <interceptor name="chainingintercept2" class="leo.struts.LoggingInterceptor">
                <param name="name">leo</param>
            </interceptor>
            <interceptor name="chainingintercept3" class="leo.struts.ChainInterceptor" />
        </interceptors>
    </package>
    <package name="public" extends="interceptorpackage">
        <action name="chain1" class="leo.struts.Chain1Action">
            <interceptor-ref name="chainingintercept1"/>
            <result type="chain">chain2</result>
        </action>

        <action name="chain2" class="leo.struts.Chain2Action">
            <!-- Chain to another namespace -->
            <interceptor-ref name="chainingintercept2"/>
            <result type="chain">
                <param name="actionName">chain3</param>
                <param name="namespace">/secure</param>
            </result>
        </action>
    </package>

    <package name="secure" extends="interceptorpackage" namespace="/secure">
        <action name="chain3" class="leo.struts.Chain3Action">
                <interceptor-ref name="chainingintercept3"/>
            <result >noresultend.jsp</result>
        </action>
    </package>
    <!-- Chain Result configuration starts -->

Exception :

SEVERE: Exception starting filter struts2
Error building results for action chain1 in namespace  - action - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Strut2Examples/WEB-INF/classes/struts.xml:135:57
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:340)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:429)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)
    at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)
    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)
    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)
    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)
    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)
    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:295)
    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:422)
    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:115)
    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4072)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4726)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: There is no result type defined for type 'chain' mapped with name 'success' - result - file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/Strut2Examples/WEB-INF/classes/struts.xml:137:25
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.buildResults(XmlConfigurationProvider.java:584)
    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:338)
    ... 26 more

If you define type in the result configuration, the value for the result type should be defined in the package config or inherited from super packages. The result type "chain" is defined in the package "struts-default" that your base package should inherit. If you don't want to use a default result type then you can define your own type according to DTD.

<package name="interceptorpackage" extends="struts-default" abstract="true">
  <result-types>
    <result-type name="chain" class="com.opensymphony.xwork2.ActionChainResult"/>
  <result-types>

In this configuration the result type "chain" is defined in the parent package "struts-default" and overridden in your package. To define a result type enough to either inherit a result type or define your own with possibility to override it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM