org.apache.struts2.portlet.servlet.PortletServletResponse contains the isCommitted method defined here public boolean isCommitted() { if(portletResponse instanceof RenderResponse) { return ((RenderResponse)portletResponse).isCommitted(); } else { throw new IllegalStateException("Not allowed in event phase"); } }
but PortletResponse does not contain the isCommitted method : $STRUTS2_HOME\lib>jar -xvf portlet-api-1.0.jar $STRUTS2_HOME\lib>javap .\javax\portlet\PortletResponse | grep isCommitted so the PortletServletResponse.isCommitted() could never be succesfull Son 'un bogue' Martin ______________________________________________ Note de déni et de confidentialité 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: Tue, 10 May 2011 10:22:29 +1000 > Subject: Re: struts2 and tiles > From: bertran...@gmail.com > To: em...@encs.concordia.ca > CC: user@struts.apache.org > > Hi Emi, > > Thank you for that, the error comes from the struts2-portlet-plugin > interaction with tiles2, so I gave it a quick try in case tiles 2.0.7 > behaved differently, but I still get the same error, even if it comes from > the BasicTilesContainer rather than Jsr168Dispatcher : > > 00000034 BasicTilesCon E org.apache.tiles.impl.BasicTilesContainer render > Error rendering tile > java.lang.IllegalStateException: Not > allowed in event phase > at > org.apache.struts2.portlet.servlet.PortletServletResponse.isCommitted(PortletServletResponse.java:178) > at > org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:176) > at > org.apache.tiles.context.TilesRequestContextWrapper.dispatch(TilesRequestContextWrapper.java:72) > at > org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:88) > at > org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:606) > at > org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:246) > at > org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResult.java:105) > at > org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186) > at > com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:361) > [...] > > We are currently migrating from Websphere portal 5.1 to 7.0 and thought it > would be a good opportunity to move to struts2, since we also use xworks, I > guess we'll have to stick to Struts 1.3, now we know what Struts2 is not > supported out of the box by IBM WPS7 :/ > > On Tue, May 10, 2011 at 1:43 AM, Emi Lu <em...@encs.concordia.ca> wrote: > > > Hello, > > > > If I remember struts2.2.1 cannot only be with tiles2.0.7. > > > > Please try tiles*-2.0.7.jar > > > > I had the same problem when using struts2.2.x + tiles2.2 > > > > Regards, > > Emi > > > > > > > > > > > > Thank you for your answer. I would like to know if tiles work with > >> struts2 > >> in a portlet environment. > >> This has been done countless times with struts 1.x versions, and as you > >> point out (with irony I suppose), there are documentations on it. The > >> thing > >> is I can't seem to get it to work with struts2 > >> > >> I can see my portlet and the tiles are working, but after submitting the > >> form I am getting the following error : > >> > >> Jsr168Dispatc E > >> com.opensymphony.xwork2.util.logging.commons.CommonsLogger > >> error Could not execute action > >> > >> java.lang.IllegalStateException: Not allowed in event phase at > >> org.apache.struts2.portlet.servlet.PortletServletResponse.isCo > >> mmitted(PortletServletResponse.java:178) > >> > >> Did anyone manage to deploy a struts2 portlet using tiles? > >> > >> On Fri, May 6, 2011 at 9:35 PM, Jason Pyeron<jpye...@pdinc.us> wrote: > >> > >> > >>> > >>> -----Original Message----- > >>>> From: Bertrand [mailto:bertran...@gmail.com] > >>>> Sent: Friday, May 06, 2011 2:53 > >>>> To: user@struts.apache.org > >>>> Subject: Re: WELCOME to user@struts.apache.org > >>>> > >>>> Hi, > >>>> > >>>> I am building a poc using Struts2 and tiles2 on Websphere portal 7.0. > >>>> I created a JSR-168 portlet using struts2 quite easily, but > >>>> adding tiles to the picture is not as straightforward. > >>>> > >>> > >>> In short, tiles does not support portlets. You may want to look at this > >>> (http://lmgtfy.com/?q=tiles+portlet). > >>> > >>> > >>>> For the addition of tiles, config-wise: > >>>> > >>>> In web.xml, I have > >>>> > >>>> <listener> > >>>> <listener-class>org.apache.struts2.tiles.StrutsTilesListener</ > >>>> > >>> listener-class> > >>> > >>>> </listener> > >>>> > >>>> In struts.xml, I have > >>>> > >>>> <result-types> > >>>> <result-type name="tiles" > >>>> class="org.apache.struts2.views.tiles.TilesResult" > >>>> /> > >>>> </result-types> > >>>> > >>>> I defined my actions using the result-type specified above, > >>>> here they are: > >>>> > >>>> <action name="index" class="struts2Poc.HelloWorld"> <result > >>>> name="SUCCESS" type="tiles">yourName</result> </action> > >>>> <action name="HelloWorld" class="struts2Poc.HelloWorld"> > >>>> <result name="SUCCESS" type="tiles">success</result> </action> > >>>> > >>>> I can see my portlet and the tiles are working, but after > >>>> submitting the form I am getting the following error : > >>>> > >>>> [6/05/11 16:20:59:677 EST] 00000034 Jsr168Dispatc E > >>>> com.opensymphony.xwork2.util.logging.commons.CommonsLogger > >>>> error Could not execute action > >>>> > >>>> java.lang.IllegalStateException: Not allowed in event phase at > >>>> org.apache.struts2.portlet.servlet.PortletServletResponse.isCo > >>>> mmitted(PortletServletResponse.java:178) > >>>> > >>> > >>> The overridden servlet response will just throw exceptions if you call > >>> those > >>> methods. This is because of how portlets work with regards to the view > >>> rendering. > >>> See: > >>> > >>> > >>> http://www.jarvana.com/jarvana/view/org/apache/struts/struts2-portlet-plugin/2.1 > >>> > >>> > >>> .8/struts2-portlet-plugin-2.1.8-sources.jar!/org/apache/struts2/portlet/servlet/ > >>> PortletServletResponse.java?format=ok > >>> > >>> http://www.jcp.org/en/jsr/detail?id=168 > >>> > >>> at > >>>> org.apache.tiles.servlet.context.ServletTilesRequestContext.di > >>>> spatch(ServletTilesRequestContext.java:219) > >>>> at > >>>> org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write > >>>> (TemplateAttributeRenderer.java:44) > >>>> at > >>>> org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.r > >>>> ender(AbstractBaseAttributeRenderer.java:103) > >>>> at > >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesCon > >>>> tainer.java:659) > >>>> at > >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesCon > >>>> tainer.java:678) > >>>> at > >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesCon > >>>> tainer.java:633) > >>>> at > >>>> org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesCon > >>>> tainer.java:322) > >>>> at > >>>> org.apache.struts2.views.tiles.TilesResult.doExecute(TilesResu > >>>> lt.java:105) > >>>> at > >>>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(Stru > >>>> tsResultSupport.java:186) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.executeResult( > >>>> DefaultActionInvocation.java:362) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:266) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor > >>>> .doIntercept(DefaultWorkflowInterceptor.java:165) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.in > >>>> tercept(MethodFilterInterceptor.java:87) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.validator.ValidationInterceptor.doInte > >>>> rcept(ValidationInterceptor.java:252) > >>>> at > >>>> org.apache.struts2.interceptor.validation.AnnotationValidation > >>>> Interceptor.doIntercept(AnnotationValidationInterceptor.java:68) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.in > >>>> tercept(MethodFilterInterceptor.java:87) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor > >>>> .intercept(ConversionErrorInterceptor.java:122) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIn > >>>> tercept(ParametersInterceptor.java:195) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.in > >>>> tercept(MethodFilterInterceptor.java:87) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIn > >>>> tercept(ParametersInterceptor.java:195) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.in > >>>> tercept(MethodFilterInterceptor.java:87) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.StaticParametersIntercepto > >>>> r.intercept(StaticParametersInterceptor.java:179) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.interceptor.MultiselectInterceptor.intercep > >>>> t(MultiselectInterceptor.java:75) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.interceptor.CheckboxInterceptor.intercept(C > >>>> heckboxInterceptor.java:94) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.interceptor.FileUploadInterceptor.intercept > >>>> (FileUploadInterceptor.java:243) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.int > >>>> ercept(ModelDrivenInterceptor.java:89) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ScopedModelDrivenIntercept > >>>> or.intercept(ScopedModelDrivenInterceptor.java:130) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.interceptor.debugging.DebuggingInterceptor. > >>>> intercept(DebuggingInterceptor.java:267) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ChainingInterceptor.interc > >>>> ept(ChainingInterceptor.java:126) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.PrepareInterceptor.doInter > >>>> cept(PrepareInterceptor.java:138) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.in > >>>> tercept(MethodFilterInterceptor.java:87) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept( > >>>> I18nInterceptor.java:165) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.interceptor.ServletConfigInterceptor.interc > >>>> ept(ServletConfigInterceptor.java:164) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept > >>>> (AliasInterceptor.java:179) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> com.opensymphony.xwork2.interceptor.ExceptionMappingIntercepto > >>>> r.intercept(ExceptionMappingInterceptor.java:176) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.portlet.interceptor.PortletAwareInterceptor > >>>> .intercept(PortletAwareInterceptor.java:88) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.portlet.interceptor.PortletStateInterceptor > >>>> .intercept(PortletStateInterceptor.java:54) > >>>> at > >>>> com.opensymphony.xwork2.DefaultActionInvocation.invoke(Default > >>>> ActionInvocation.java:237) > >>>> at > >>>> org.apache.struts2.impl.StrutsActionProxy.execute(StrutsAction > >>>> Proxy.java:52) > >>>> at > >>>> org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.service > >>>> Action(Jsr168Dispatcher.java:451) > >>>> at > >>>> org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher.process > >>>> Action(Jsr168Dispatcher.java:298) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:77) > >>>> at > >>>> com.ibm.wps.engine.el.init.AttributeCopyFilter.doFilter(Attrib > >>>> uteCopyFilter.java:134) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.wps.resolver.iwidget.filter.IWidgetPortletFilter.doFil > >>>> ter(IWidgetPortletFilter.java:73) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.wps.propertybroker.standard.filter.PropertyBrokerActio > >>>> nFilter.doFilter(PropertyBrokerActionFilter.java:745) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.wps.propertybroker.standard.filter.C2APortletFilter.do > >>>> Filter(C2APortletFilter.java:176) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.wps.engine.dpr.portlet.impl.ProcessActionMemoFilter.do > >>>> Filter(ProcessActionMemoFilter.java:88) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.plm.GlobalPortletLoadMonitoringFilter. > >>>> doFilter(GlobalPortletLoadMonitoringFilter.java:205) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletFilterChainImp > >>>> l.doFilter(PortletFilterChainImpl.java:69) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.doDisp > >>>> atch(PortletServlet.java:527) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:114) > >>>> at > >>>> com.ibm.isclite.container.collaborator.PortletServletCollabora > >>>> tor.doAction(PortletServletCollaborator.java:59) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:101) > >>>> at > >>>> com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollabo > >>>> rator.doAction(RRDServerPortletServletCollaborator.java:117) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:101) > >>>> at > >>>> com.ibm.ws.portletcontainer.cache.CacheCollaborator.doAction(C > >>>> acheCollaborator.java:84) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:101) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.core.impl.PortletServletCollaboratorIm > >>>> pl.doAction(PortletServletCollaboratorImpl.java:145) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:101) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.doDisp > >>>> atch(PortletServlet.java:301) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:82) > >>>> at > >>>> com.ibm.isclite.container.collaborator.PortletServletCollabora > >>>> tor.doDispatch(PortletServletCollaborator.java:143) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:74) > >>>> at > >>>> com.ibm.ws.portletcontainer.rrd.RRDServerPortletServletCollabo > >>>> rator.doDispatch(RRDServerPortletServletCollaborator.java:60) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:74) > >>>> at > >>>> com.ibm.ws.portletcontainer.cache.CacheCollaborator.doDispatch > >>>> (CacheCollaborator.java:74) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:74) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.core.impl.PortletServletCollaboratorIm > >>>> pl.doDispatch(PortletServletCollaboratorImpl.java:112) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServletCollabo > >>>> ratorChainImpl.doCollaborator(PortletServletCollaboratorChainI > >>>> mpl.java:74) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.dispat > >>>> ch(PortletServlet.java:208) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletServlet.servic > >>>> e(PortletServlet.java:165) > >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servlet > >>>> Wrapper.java:1655) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servlet > >>>> Wrapper.java:1595) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:104) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(Web > >>>> > >>> AppFilterChain.java:77) > >>> > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(We > >>>> bAppFilterManager.java:908) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(S > >>>> ervletWrapper.java:932) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(S > >>>> ervletWrapper.java:500) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleReque > >>>> st(ServletWrapperImpl.java:178) > >>>> at > >>>> com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handl > >>>> eRequest(GenericServletWrapper.java:121) > >>>> at > >>>> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include > >>>> (WebAppRequestDispatcher.java:673) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerImpl.in > >>>> voke(PortletInvokerImpl.java:214) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollabo > >>>> ratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainI > >>>> mpl.java:76) > >>>> at > >>>> com.ibm.ws.portletcontainer.cache.PortletInvokerCacheCollabora > >>>> tor.doAction(PortletInvokerCacheCollaborator.java:50) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollabo > >>>> ratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainI > >>>> mpl.java:65) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceColla > >>>> borator.invoke(PortletInvokerPerformanceCollaborator.java:313) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceColla > >>>> borator.doInvoke(PortletInvokerPerformanceCollaborator.java:101) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceColla > >>>> borator.invokePMI(PortletInvokerPerformanceCollaborator.java:163) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceColla > >>>> borator.doInvoke(PortletInvokerPerformanceCollaborator.java:91) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.PortletInvokerPerformanceColla > >>>> borator.doAction(PortletInvokerPerformanceCollaborator.java:62) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerCollabo > >>>> ratorChainImpl.doCollaborator(PortletInvokerCollaboratorChainI > >>>> mpl.java:65) > >>>> at > >>>> com.ibm.ws.portletcontainer.invoker.impl.PortletInvokerImpl.ac > >>>> tion(PortletInvokerImpl.java:77) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerImpl.doAction(Port > >>>> letContainerImpl.java:186) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaborato > >>>> rChainImpl.doCollaborator(PortletContainerInvokerCollaboratorC > >>>> hainImpl.java:78) > >>>> at > >>>> com.ibm.ws.portletcontainer.ext.ExtCollaborator.doAction(ExtCo > >>>> llaborator.java:58) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaborato > >>>> rChainImpl.doCollaborator(PortletContainerInvokerCollaboratorC > >>>> hainImpl.java:65) > >>>> at > >>>> com.ibm.ws.portletcontainer.cache.CacheInvokerCollaborator.doA > >>>> ction(CacheInvokerCollaborator.java:76) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaborato > >>>> rChainImpl.doCollaborator(PortletContainerInvokerCollaboratorC > >>>> hainImpl.java:65) > >>>> at > >>>> com.ibm.wps.resolver.iwidget.filter.IWidgetPCInvokerCollaborat > >>>> or.doAction(IWidgetPCInvokerCollaborator.java:61) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerInvokerCollaborato > >>>> rChainImpl.doCollaborator(PortletContainerInvokerCollaboratorC > >>>> hainImpl.java:65) > >>>> at > >>>> com.ibm.ws.portletcontainer.PortletContainerImpl.processPortle > >>>> tAction(PortletContainerImpl.java:152) > >>>> at > >>>> com.ibm.ws.portletcontainer.pcinvoker.PortletInvokerImpl$1.run > >>>> > >>> (PortletInvokerImpl.java:59) > >>> > >>>> at > >>>> java.security.AccessController.doPrivileged(AccessController.java:251) > >>>> at > >>>> com.ibm.ws.portletcontainer.pcinvoker.PortletInvokerImpl.invok > >>>> eProcessAction(PortletInvokerImpl.java:55) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.core.impl.PortletInvokerImpl$3.invoke( > >>>> > >>> PortletInvokerImpl.java:121) > >>> > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.core.impl.PortletInvokerImpl.invoke(Po > >>>> rtletInvokerImpl.java:182) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.core.impl.PortletInvokerImpl.invokePro > >>>> cessAction(PortletInvokerImpl.java:119) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.event.ActionEvent.execute(ActionEvent.java:78) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.event.EventQueueManager.processEventLo > >>>> op(EventQueueManager.java:112) > >>>> at > >>>> com.ibm.wps.pe.pc.waspc.PortletContainerImpl.performEvents(Por > >>>> tletContainerImpl.java:237) > >>>> at > >>>> com.ibm.wps.pe.pc.PortletContainerImpl.performEvents(PortletCo > >>>> ntainerImpl.java:298) > >>>> at > >>>> com.ibm.wps.engine.phases.WPActionPhase.processPortlets(WPActi > >>>> onPhase.java:2978) > >>>> at > >>>> com.ibm.wps.engine.phases.WPActionPhase.execute(WPActionPhase. > >>>> java:666) > >>>> at > >>>> com.ibm.wps.state.phases.AbstractActionPhase.next(AbstractActi > >>>> onPhase.java:146) > >>>> at com.ibm.wps.engine.Servlet.callPortal(Servlet.java:950) > >>>> at com.ibm.wps.engine.Servlet.doGet(Servlet.java:677) > >>>> at com.ibm.wps.engine.Servlet.doPost(Servlet.java:984) > >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:738) > >>>> at com.ibm.wps.engine.Servlet.doFilter(Servlet.java:1429) > >>>> at > >>>> com.ibm.wps.resolver.servlet.ContentHandlerCleanup.doFilter(Co > >>>> ntentHandlerCleanup.java:672) > >>>> at > >>>> com.ibm.wps.resolver.servlet.AbstractFilter.doFilter(AbstractF > >>>> ilter.java:93) > >>>> at com.ibm.wps.engine.Servlet.service(Servlet.java:1417) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servlet > >>>> Wrapper.java:1655) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(Servlet > >>>> Wrapper.java:1595) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:131) > >>>> at > >>>> com.ibm.wps.engine.ExtensionFilter$ExtendedFilterChain.doFilte > >>>> > >>> r(ExtensionFilter.java:91) > >>> > >>>> at > >>>> com.ibm.wps.engine.ExtensionFilter.doFilter(ExtensionFilter.java:178) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.wps.engine.ExtendedLocaleFilter.doFilter(ExtendedLocal > >>>> eFilter.java:113) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.wps.resolver.friendly.servlet.FriendlySelectionFilter. > >>>> doFilter(FriendlySelectionFilter.java:191) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.wps.mappingurl.impl.URLAnalyzer.doFilter(URLAnalyzer.java:412) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.wps.engine.VirtualPortalFilter.doFilter(VirtualPortalF > >>>> ilter.java:88) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.wps.state.filter.StateCleanup.doFilter(StateCleanup.java:94) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter( > >>>> FilterInstanceWrapper.java:188) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebA > >>>> ppFilterChain.java:116) > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(Web > >>>> > >>> AppFilterChain.java:77) > >>> > >>>> at > >>>> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(We > >>>> bAppFilterManager.java:908) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(S > >>>> ervletWrapper.java:932) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(S > >>>> ervletWrapper.java:500) > >>>> at > >>>> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleReque > >>>> st(ServletWrapperImpl.java:178) > >>>> at > >>>> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3826) > >>>> at > >>>> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup > >>>> .java:276) > >>>> at > >>>> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContaine > >>>> r.java:931) > >>>> at > >>>> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebCont > >>>> ainer.java:1583) > >>>> at > >>>> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelL > >>>> ink.java:186) > >>>> at > >>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDis > >>>> crimination(HttpInboundLink.java:455) > >>>> at > >>>> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNew > >>>> Information(HttpInboundLink.java:384) > >>>> at > >>>> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.compl > >>>> ete(HttpICLReadCallback.java:83) > >>>> at > >>>> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCo > >>>> mpleted(AioReadCompletionListener.java:165) > >>>> at > >>>> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAs > >>>> yncFuture.java:217) > >>>> at > >>>> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(Asyn > >>>> cChannelFuture.java:161) > >>>> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) > >>>> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) > >>>> at > >>>> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHa > >>>> ndler.java:775) > >>>> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) > >>>> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550) > >>>> > >>>> Here are the libs I am using: > >>>> > >>>> For Tiles: > >>>> commons-beanutils-1.8.0.jar > >>>> commons-digester-2.0.jar > >>>> commons-fileupload-1.2.1.jar > >>>> commons-io-1.3.2.jar > >>>> commons-logging-1.1.jar > >>>> tiles-api-2.1.2.jar > >>>> tiles-compat-2.1.2.jar > >>>> tiles-core-2.1.2.jar > >>>> tiles-jsp-2.1.2.jar > >>>> tiles-servlet-2.1.2.jar > >>>> freemarker-2.3.16.jar > >>>> > >>>> For Struts2: > >>>> javassist-3.4.ga.jar > >>>> ognl-3.0.jar > >>>> struts2-core-2.2.1.1.jar > >>>> struts2-portlet-plugin-2.2.1.jar > >>>> struts2-tiles-plugin-2.2.1.1.jar > >>>> xwork-core-2.1.6.jar > >>>> > >>>> Can anybody please tell me what I am doing wrong? > >>>> > >>>> Thank you > >>>> > >>>> > >>> > >>> > >>> -- > >>> > >> > > > -- > Bertrand