You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by rsilva <ra...@hotmail.com> on 2009/07/01 23:35:23 UTC

Re: using CompositeActionMapper

I have used the following with success in Mac Os Leopard Tomcat 6.0.18 Struts
2.0.14 Java 1.5.0.19

    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="waves" class="struts2.urlrewrite.WavesASPActionMapper" />
    <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
name="hierarchy" class="struts2.urlrewrite.WavesHierarchyActionMapper" />
    <constant name="struts.mapper.composite" value="struts,waves,hierarchy"
/>
    <constant name="struts.mapper.class" value="composite"/>

When I moved to CentOs Tomcat 6.0.18 Struts 2.0.14 Java 1.6.0_10 it start
throwing

java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
	at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
	at
com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:117)
	at
com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:115)
	at
com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
	at
com.opensymphony.xwork2.inject.ContainerImpl.injectStatics(ContainerImpl.java:114)
	at
com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:494)
	at
com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:145)
	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:205)
	at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
	at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
	at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
	at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
	at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
	at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
	at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
	at org.apache.catalina.core.StandardService.start(StandardService.java:516)
	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:177)
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at
com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
	at
com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
	at
com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
	at
com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
	at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
	... 41 more
Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
	at
com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:464)
	at
com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
	at
com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
	at
com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
	at
com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
	at
com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
	... 46 more
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
	at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
	at
com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
	at
com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
	... 51 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at
com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
	... 53 more
Caused by: java.lang.NullPointerException
	at
org.apache.struts2.dispatcher.mapper.CompositeActionMapper.setActionMappers(CompositeActionMapper.java:108)
	... 58 more

It seems Struts 2 is not injecting Container reference on
CompositeActionMapper.

Really strange.

I tried create another Composite Action Mapper Bean called compositeMapper
and using it in struts.mapper.class but do not work too.

Any Thoughts?

Thank you.

Aloha,

afael Sobral



Jeromy Evans - Blue Sky Minds wrote:
> 
> Allen Lee wrote:
>> Hey there,
>>
>>
>> Has anyone successfully gotten CompositeActionMapper to work and how?
>>
>>   
> 
> 
>  <!-- Define the action mappers -->
>   <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" 
> name="addressMapper"  
> class="com.mycompany.actionmapper.CustomActionMapper" />
>   <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" 
> name="compositeMapper"  
> class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
> 
>   <!-- configure the composite order (custom mapper and the default rest 
> plugin action mapper) -->
>   <constant name="struts.mapper.composite" value="addressMapper,rest" />
> 
>   <!-- enable the composite mapper -->
>   <constant name="struts.mapper.class" value="compositeMapper"/>
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/using-CompositeActionMapper-tp19695907p24297526.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: using CompositeActionMapper

Posted by Martin Gainty <mg...@hotmail.com>.
good advice

if the container is going null could you provide 

a complete dump of log
Directory of $CATALINA_HOME/logs

catalina.2009-07-01.log

display any/all messages that say anything about configuring Web Container e.g.

INFO: Configuring SomeWebApp for Web Container type 'MyTomcat'



all of the contents of HOST.YYYY-MM-DD.log e.g.

07/01/2009  02:42 PM               914 localhost.2009-07-01.log


vendor and version of webapp container you are using 

JDK/J2EE version you are implementing e.g. java -version
any tweaks on JAVA_OPTS

as much code as is necessary to reproduce (including web.xml,struts.xml,struts-default.xml)

thanks,
Martin Gainty 
______________________________________________ 
Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité
 
Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni.




> Date: Thu, 2 Jul 2009 14:08:27 -0400
> From: dale@newfield.org
> To: user@struts.apache.org
> Subject: Re: using CompositeActionMapper
> 
> rsilva wrote:
> > I dont not understand very much about Struts2 inject process but I fixed my
> > problem extending the compositeActionMapper with the following one:
> > 
> > public class DebugCompositeActionMapper extends CompositeActionMapper {
> > 
> >     @Override
> >     @Inject(StrutsConstants.STRUTS_MAPPER_COMPOSITE)
> >     public void setActionMappers(String list) {
> >         if (list != null) {
> >             String[] arr = list.split(",");
> >             for (String name : arr) {
> >                 if (container==null) continue; // LINE ADDED
> >                 Object obj = container.getInstance(ActionMapper.class,
> > name);
> >                 if (obj != null) {
> >                     actionMappers.add((ActionMapper) obj);
> >                 }
> >             }
> >         }
> >     }
> > }
> > 
> > I worked since it do not throw the Null Pointer Exception and it seem during
> > injection process the function setActionMappers is called twice. One before
> > the container is set and other after.
> 
> Do the call stacks during those two calls reveal anything useful about 
> how/why it's getting called twice (once before it sounds like it should)?
> 
> If container is null during one of those calls, won't it be null during 
> the entire method call?  If so, why not put
> "if (container == null) return;" as the first line of the method instead 
> of re-checking it for each potential mapper specification?
> 
> -Dale
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 

_________________________________________________________________
Hotmail® has ever-growing storage! Don’t worry about storage limits. 
http://windowslive.com/Tutorial/Hotmail/Storage?ocid=TXT_TAGLM_WL_HM_Tutorial_Storage_062009

Re: using CompositeActionMapper

Posted by Dale Newfield <da...@newfield.org>.
rsilva wrote:
> I dont not understand very much about Struts2 inject process but I fixed my
> problem extending the compositeActionMapper with the following one:
> 
> public class DebugCompositeActionMapper extends CompositeActionMapper {
> 
>     @Override
>     @Inject(StrutsConstants.STRUTS_MAPPER_COMPOSITE)
>     public void setActionMappers(String list) {
>         if (list != null) {
>             String[] arr = list.split(",");
>             for (String name : arr) {
>                 if (container==null) continue; // LINE ADDED
>                 Object obj = container.getInstance(ActionMapper.class,
> name);
>                 if (obj != null) {
>                     actionMappers.add((ActionMapper) obj);
>                 }
>             }
>         }
>     }
> }
> 
> I worked since it do not throw the Null Pointer Exception and it seem during
> injection process the function setActionMappers is called twice. One before
> the container is set and other after.

Do the call stacks during those two calls reveal anything useful about 
how/why it's getting called twice (once before it sounds like it should)?

If container is null during one of those calls, won't it be null during 
the entire method call?  If so, why not put
"if (container == null) return;" as the first line of the method instead 
of re-checking it for each potential mapper specification?

-Dale

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: using CompositeActionMapper

Posted by rsilva <ra...@hotmail.com>.
Hi,

I dont not understand very much about Struts2 inject process but I fixed my
problem extending the compositeActionMapper with the following one:

public class DebugCompositeActionMapper extends CompositeActionMapper {

    @Override
    @Inject(StrutsConstants.STRUTS_MAPPER_COMPOSITE)
    public void setActionMappers(String list) {
        if (list != null) {
            String[] arr = list.split(",");
            for (String name : arr) {
                if (container==null) continue; // LINE ADDED
                Object obj = container.getInstance(ActionMapper.class,
name);
                if (obj != null) {
                    actionMappers.add((ActionMapper) obj);
                }
            }
        }
    }
}

I worked since it do not throw the Null Pointer Exception and it seem during
injection process the function setActionMappers is called twice. One before
the container is set and other after.

I hope it help.

Aloha,

Rafael Sobral


rsilva wrote:
> 
> I have used the following with success in Mac Os Leopard Tomcat 6.0.18
> Struts 2.0.14 Java 1.5.0.19
> 
>     <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
> name="waves" class="struts2.urlrewrite.WavesASPActionMapper" />
>     <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"
> name="hierarchy" class="struts2.urlrewrite.WavesHierarchyActionMapper" />
>     <constant name="struts.mapper.composite"
> value="struts,waves,hierarchy" />
>     <constant name="struts.mapper.class" value="composite"/>
> 
> When I moved to CentOs Tomcat 6.0.18 Struts 2.0.14 Java 1.6.0_10 it start
> throwing
> 
> java.lang.RuntimeException: java.lang.RuntimeException:
> java.lang.RuntimeException: java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:117)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$2.call(ContainerImpl.java:115)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:542)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.injectStatics(ContainerImpl.java:114)
> 	at
> com.opensymphony.xwork2.inject.ContainerBuilder.create(ContainerBuilder.java:494)
> 	at
> com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:145)
> 	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:205)
> 	at
> org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
> 	at
> org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
> 	at
> org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
> 	at
> org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
> 	at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
> 	at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> 	at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
> 	at
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926)
> 	at
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889)
> 	at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
> 	at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
> 	at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> 	at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> 	at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> 	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> 	at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> 	at
> org.apache.catalina.core.StandardService.start(StandardService.java:516)
> 	at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> 	at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at
> org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:177)
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
> java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
> 	at
> com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:136)
> 	at com.opensymphony.xwork2.inject.Scope$2$1.create(Scope.java:49)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$ParameterInjector.inject(ContainerImpl.java:431)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.getParameters(ContainerImpl.java:446)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.access$000(ContainerImpl.java:48)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
> 	... 41 more
> Caused by: java.lang.RuntimeException: java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:464)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$7.call(ContainerImpl.java:501)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.callInContext(ContainerImpl.java:549)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:499)
> 	at
> com.opensymphony.xwork2.config.impl.LocatableFactory.create(LocatableFactory.java:32)
> 	at
> com.opensymphony.xwork2.inject.ContainerBuilder$4.create(ContainerBuilder.java:134)
> 	... 46 more
> Caused by: java.lang.RuntimeException:
> java.lang.reflect.InvocationTargetException
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:290)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$ConstructorInjector.construct(ContainerImpl.java:400)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl.inject(ContainerImpl.java:461)
> 	... 51 more
> Caused by: java.lang.reflect.InvocationTargetException
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at
> com.opensymphony.xwork2.inject.ContainerImpl$MethodInjector.inject(ContainerImpl.java:288)
> 	... 53 more
> Caused by: java.lang.NullPointerException
> 	at
> org.apache.struts2.dispatcher.mapper.CompositeActionMapper.setActionMappers(CompositeActionMapper.java:108)
> 	... 58 more
> 
> It seems Struts 2 is not injecting Container reference on
> CompositeActionMapper.
> 
> Really strange.
> 
> I tried create another Composite Action Mapper Bean called compositeMapper
> and using it in struts.mapper.class but do not work too.
> 
> Any Thoughts?
> 
> Thank you.
> 
> Aloha,
> 
> afael Sobral
> 
> 
> 
> Jeromy Evans - Blue Sky Minds wrote:
>> 
>> Allen Lee wrote:
>>> Hey there,
>>>
>>>
>>> Has anyone successfully gotten CompositeActionMapper to work and how?
>>>
>>>   
>> 
>> 
>>  <!-- Define the action mappers -->
>>   <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" 
>> name="addressMapper"  
>> class="com.mycompany.actionmapper.CustomActionMapper" />
>>   <bean type="org.apache.struts2.dispatcher.mapper.ActionMapper" 
>> name="compositeMapper"  
>> class="org.apache.struts2.dispatcher.mapper.CompositeActionMapper" />
>> 
>>   <!-- configure the composite order (custom mapper and the default rest 
>> plugin action mapper) -->
>>   <constant name="struts.mapper.composite" value="addressMapper,rest" />
>> 
>>   <!-- enable the composite mapper -->
>>   <constant name="struts.mapper.class" value="compositeMapper"/>
>> 
>> 
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/using-CompositeActionMapper-tp19695907p24298607.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org