Hi All.
I'm workgin on JEE web application, using Struts2 with annotations and tiles 
too.
I've an error:
- 2014-06-22 15:53:51,187 ERROR [org.apache.struts2.dispatcher.Dispatcher] - 
<Dispatcher initialization failed>
Unable to load configuration. - [unknown location]
    at 
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70)
    at 
org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:446)
    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:490)
    at 
org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74)
    at 
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57)
    at 
org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
    at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
    at 
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
    at 
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
    at 
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
    at 
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
Caused by: The Result type [tiles] which is defined in the Result annotation on 
the class [class mypackage.WelcomeAction] or determined by the file extension 
or is the default result type for the PackageConfig of the action, could not be 
found as a result-type defined for the Struts/XWork package 
[mypackage#convention-default#/] - [unknown location]
at 
org.apache.struts2.convention.DefaultResultMapBuilder.createResultConfig(DefaultResultMapBuilder.java:438)
    at 
org.apache.struts2.convention.DefaultResultMapBuilder.createFromAnnotations(DefaultResultMapBuilder.java:410)
    at 
org.apache.struts2.convention.DefaultResultMapBuilder.build(DefaultResultMapBuilder.java:202)
    at 
org.apache.struts2.convention.PackageBasedActionConfigBuilder.createActionConfig(PackageBasedActionConfigBuilder.java:935)
    at 
org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildConfiguration(PackageBasedActionConfigBuilder.java:718)
    at 
org.apache.struts2.convention.PackageBasedActionConfigBuilder.buildActionConfigs(PackageBasedActionConfigBuilder.java:348)
    at 
org.apache.struts2.convention.ClasspathPackageProvider.loadPackages(ClasspathPackageProvider.java:53)
    at 
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:260)
    at 
com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67)
Here is WelcomeAction class:
@Action(value = "menu", 
            results = { 
                    @Result(name = SUCCESS, location = "/search", type= 
"tiles"), 
                    @Result(name=INPUT, location = "/index", type = "tiles"),
                    @Result(name = ERROR, location = "/index", type = "tiles")
                    }
    )
And here are defintions in tiles.xml:
<definition name="baseLayout" template="/jsp/layout/BaseLayout.jsp">
        <put-attribute name="title" value="" />
        <put-attribute name="header" value="/jsp/header.jsp" />
        <put-attribute name="menu" value="" />
        <put-attribute name="body" value="" />
    </definition>

    <definition name="/index" extends="baseLayout">
        <put-attribute name="title" value="Index" />
        <put-attribute name="menu" value="/jsp/menu_index.jsp" />
        <put-attribute name="body" value="/jsp/index.jsp" />
    </definition>
    
    <definition name="/search" extends="baseLayout">
        <put-attribute name="title" value="Search" />
        <put-attribute name="menu" value="/jsp/menu_index.jsp" />
        <put-attribute name="body" value="/jsp/search.jsp" />
    </definition>
Here is Struts.xml:
<struts>
    <constant name="struts.objectFactory" value="spring" />
    <constant name="struts.convention.action.packages" 
value="fr.itsystem.masyv.web" />
    <constant name="struts.convention.package.locators" 
value="action,actions,struts,struts2,web"/>
    <constant name="struts.convention.action.suffix" value="Action" />
    <constant name="struts.convention.action.mapAllMatches" value="true" />
    <constant name="struts.convention.result.path" value="/WEB-INF/jsp" />
    <constant name="struts.custom.i18n.resources" value="global" />
     <package name="default" extends="struts-default">
         <result-types>
             <result-type name="tiles" 
class="org.apache.struts2.views.tiles.TilesResult" />
         </result-types>
     </package>
</struts>
Here are declarations of the context and listener of tiles in my web.xml:
    <context-param>
        <description>Tiles configuration file</description>
        
<param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name>
        <param-value>
                /WEB-INF/classes/tiles.xml
        </param-value>
    </context-param>
    <listener>
        
<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
    </listener>

Thank you a lot in advance.

Sincerly

Amine

Reply via email to