This version uses the latest 2.x Tiles version which should be compatible with Servlets 2.4, it may be that JSPs weren't re-compiled on redeploy, please clean up working directory/temp folder (not sure where WS stores compiled JSPs).
And you must also update DTDs in struts.xml and tiles.xml: https://tiles.apache.org/framework/migration/configuration.html <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd"> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> Regards -- Łukasz + 48 606 323 122 http://www.lenart.org.pl/ 2016-07-21 16:54 GMT+02:00 R Veach <rveac...@gmail.com>: > 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. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org