Hi,
I am trying to upgrade from Struts 2.3.24 to 2.3.28.1.
My application was working fine on the old version, but 28 is giving me an
NoSuchMethodError when trying to load a page.
I am using Websphere 8.5 server.

This is the exception and stack trace:
org.apache.tiles.impl.CannotRenderException: ServletException including
path '/jsp/layout/Default-layout.jsp'.
    at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:692)
    at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:644)
    at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:627)
    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:191)
    at
com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:372)
    at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:276)
    …
    at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
    at
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
    at
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:245)
    at
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
    at
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:567)
    at
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:81)
    at
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
    at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    at gov.ssa.security.SecurityFilter.doFilter(SecurityFilter.java:25)
    at
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:195)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:91)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:960)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1064)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3837)
    at
com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
    at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:981)
    at
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
    at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:200)
    at
com.ibm.ws390.xmem.proxy.channel.XMemProxySRInboundConnLink.ready(XMemProxySRInboundConnLink.java:105)
    at
com.ibm.ws390.xmem.proxy.channel.XMemProxySRInboundChannel.processNewConnection(XMemProxySRInboundChannel.java:123)
    at
com.ibm.ws390.xmem.proxy.XMemProxySRCppUtilities.httpinvoke(XMemProxySRCppUtilities.java:150)
    at
com.ibm.ws390.orb.ServerRegionBridge.httpinvoke(ServerRegionBridge.java:213)
    at
com.ibm.ws390.orb.CommonBridge.getAndProcessWork(CommonBridge.java:680)
    at
com.ibm.ws390.orb.CommonBridge.runApplicationThread(CommonBridge.java:611)
    at com.ibm.ws.util.ThreadPool$ZOSWorker.run(ThreadPool.java:2098)
Caused by: org.apache.tiles.util.TilesIOException: ServletException
including path '/jsp/layout/Default-layout.jsp'.
    at
org.apache.tiles.servlet.context.ServletUtil.wrapServletException(ServletUtil.java:241)
    at
org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:243)
    at
org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:222)
    at
org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44)
    at
org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106)
    at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670)
    at
org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:690)
    ... 57 more
Caused by: java.lang.NoSuchMethodError:
org/apache/tiles/jsp/taglib/InsertAttributeTag.setPageContext(Ljavax/servlet/jsp/PageContext;)V
    at
com.ibm._jsp._Default_2D_layout._jspx_meth_tiles_insertAttribute_0(_Default_2D_layout.java:275)
    at
com.ibm._jsp._Default_2D_layout._jspService(_Default_2D_layout.java:117)
    at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
    at
com.ibm.ws.cache.servlet.ServletWrapper.serviceProxied(ServletWrapper.java:307)
    at com.ibm.ws.cache.servlet.CacheHook.handleFragment(CacheHook.java:562)
    at com.ibm.ws.cache.servlet.CacheHook.handleServlet(CacheHook.java:255)
    at
com.ibm.ws.cache.servlet.ServletWrapper.service(ServletWrapper.java:259)
    at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1230)
    at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:779)
    at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
    at
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
    at
com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
    at
com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:219)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:136)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:79)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:960)
    at
com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1064)
    at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:1385)
    at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:194)
    at
org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:241)
    ... 62 more

` org/apache/tiles/jsp/taglib/InsertAttributeTag` is part of
tiles-jsp-2.2.2.jar and I am including it in my workspace and EAR.
I didn’t make any changes in any configuration files for struts 2 or tiles.

My current thought is that this may be a class version conflict that struts
upgraded to a newer version of Web/JSP that Websphere doesn’t support.

Can anyone confirm this or guide me on fixing this issue?
Thanks for any and all help.

Reply via email to