There is a problem with FreeMarker, hit this url in showcase: http://localhost:8080/struts2-showcase/tiles/freemarkerLayout.action
JspTaglibs["http://tiles.apache.org/tags-tiles"] is undefined. It cannot be assigned to tiles at org.apache.struts2.tiles.StrutsTilesRequestContext.include(StrutsTilesRequestContext.java:120) at org.apache.struts2.tiles.StrutsTilesRequestContext.dispatch(StrutsTilesRequestContext.java:86) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370) I tested it in 2.1.2 and it was failing also, anyone knows about this? musachy On Sat, Dec 27, 2008 at 4:14 PM, Musachy Barroso <musa...@gmail.com> wrote: > 3 hours debugging, and the fix was one line of code :). Please test > against trunk and let me know, it all seems to work for me. > > musachy > > On Sat, Dec 27, 2008 at 12:40 PM, Musachy Barroso <musa...@gmail.com> wrote: >> yes, that's a good idea, in fact there are some tags there, like >> "url", wich do not fail. >> >> On Sat, Dec 27, 2008 at 12:36 PM, Wes Wannemacher <w...@wantii.com> wrote: >>> I'll follow suit and rescind my vote as well... Should we add a tag >>> showcase's decorator so that it pops up when we test in the future? >>> >>> -Wes >>> >>> On Sat, 2008-12-27 at 12:31 -0500, Musachy Barroso wrote: >>>> never mind, just adding: >>>> >>>> <s:hidden name="somename" value="%{'aaa'}" /> >>>> >>>> to the main decorator makes fail, I will downgrade my vote. >>>> musachy >>>> >>>> On Sat, Dec 27, 2008 at 12:23 PM, Musachy Barroso <musa...@gmail.com> >>>> wrote: >>>> > I change the filter and filter mappings to the "old" ones, and >>>> > showcase still works, do you know what I would need to change to >>>> > reproduce the problem? >>>> > >>>> > musachy >>>> > >>>> > On Sat, Dec 27, 2008 at 11:12 AM, Al Sutton <a...@funkyandroid.com> >>>> > wrote: >>>> >> I'm sorry I didn't try the trunk sooner (too busy coding the site :(). >>>> >> >>>> >> The filters are; >>>> >> >>>> >> <filter> >>>> >> <filter-name>struts-cleanup</filter-name> >>>> >> >>>> >> <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> >>>> >> </filter> >>>> >> <filter> >>>> >> <filter-name>sitemesh</filter-name> >>>> >> >>>> >> <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> >>>> >> </filter> >>>> >> <filter> >>>> >> <filter-name>struts</filter-name> >>>> >> >>>> >> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> >>>> >> <init-param> >>>> >> <param-name>actionPackages</param-name> >>>> >> <param-value>com.andappstore.actions</param-value> >>>> >> </init-param> >>>> >> </filter> >>>> >> <filter-mapping> >>>> >> <filter-name>struts-cleanup</filter-name> >>>> >> <url-pattern>/*</url-pattern> >>>> >> </filter-mapping> >>>> >> <filter-mapping> >>>> >> <filter-name>sitemesh</filter-name> >>>> >> <url-pattern>/*</url-pattern> >>>> >> </filter-mapping> >>>> >> <filter-mapping> >>>> >> <filter-name>struts</filter-name> >>>> >> <url-pattern>/*</url-pattern> >>>> >> </filter-mapping> >>>> >> The sitemesh.xml is; >>>> >> >>>> >> <sitemesh> >>>> >> <property name="decorators-file" value="/WEB-INF/decorators.xml" /> >>>> >> <excludes file="${decorators-file}" /> >>>> >> >>>> >> <page-parsers> >>>> >> <parser content-type="text/html" >>>> >> >>>> >> class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> >>>> >> <parser content-type="text/html;charset=ISO-8859-1" >>>> >> >>>> >> class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> >>>> >> </page-parsers> >>>> >> >>>> >> <decorator-mappers> >>>> >> <mapper >>>> >> class="com.opensymphony.module.sitemesh.mapper.AgentDecoratorMapper"> >>>> >> <param name="match.Android" value="android" /> >>>> >> </mapper> >>>> >> <mapper >>>> >> class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> >>>> >> <param name="config" value="${decorators-file}" /> >>>> >> </mapper> </decorator-mappers> >>>> >> </sitemesh> >>>> >> >>>> >> and the decorators.xml file is; >>>> >> >>>> >> <decorators defaultdir="/WEB-INF/decorators"> >>>> >> <excludes> >>>> >> <pattern>/updates/*</pattern> >>>> >> </excludes> >>>> >> <decorator name="default" page="default.jsp"> >>>> >> <pattern>/*</pattern> >>>> >> </decorator> >>>> >> </decorators> >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> >>>> >> Musachy Barroso wrote: >>>> >>> >>>> >>> this one looks bad, how do you have your filters configured? I think >>>> >>> we saw this before and had been fixed. >>>> >>> >>>> >>> musachy >>>> >>> >>>> >>> On Sat, Dec 27, 2008 at 4:50 AM, Al Sutton <a...@funkyandroid.com> >>>> >>> wrote: >>>> >>> >>>> >>>> >>>> >>>> Next problem; I'm seeing an exception being thrown in Freemarker >>>> >>>> which I >>>> >>>> believe is a knock on effect from the sitemesh plugin. >>>> >>>> >>>> >>>> When I set a breakpoint in FreemarkerTemplateEngine.renderTemplate >>>> >>>> there >>>> >>>> are >>>> >>>> several passes through where the servletcontext, request, and response >>>> >>>> objects are pulled from the stack in the TemplateRenderingContext, but >>>> >>>> then >>>> >>>> nulls start to be returned and hence the NPE is thrown. >>>> >>>> >>>> >>>> I beleive this is when parsing a decorator containing S2 tags is >>>> >>>> included >>>> >>>> because the output page contains the main data, the HTML components >>>> >>>> from >>>> >>>> the >>>> >>>> template, and then stops at the first S2 tag :( . >>>> >>>> >>>> >>>> Al. >>>> >>>> >>>> >>>> java.lang.NullPointerException >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.struts2.views.freemarker.FreemarkerManager.getConfiguration(FreemarkerManager.java:159) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.struts2.components.template.FreemarkerTemplateEngine.renderTemplate(FreemarkerTemplateEngine.java:89) >>>> >>>> at >>>> >>>> org.apache.struts2.components.UIBean.mergeTemplate(UIBean.java:559) >>>> >>>> at org.apache.struts2.components.UIBean.end(UIBean.java:513) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.struts2.views.jsp.ComponentTagSupport.doEndTag(ComponentTagSupport.java:42) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.jsp.WEB_002dINF.decorators.default_jsp._jspx_meth_s_005fhidden_005f0(default_jsp.java:668) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.jsp.WEB_002dINF.decorators.default_jsp._jspService(default_jsp.java:162) >>>> >>>> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >>>> >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) >>>> >>>> at >>>> >>>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342) >>>> >>>> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) >>>> >>>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472) >>>> >>>> at >>>> >>>> >>>> >>>> com.opensymphony.module.sitemesh.filter.PageFilter.writeDecorator(PageFilter.java:173) >>>> >>>> at >>>> >>>> >>>> >>>> com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:158) >>>> >>>> at >>>> >>>> >>>> >>>> com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:62) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.struts2.dispatcher.ActionContextCleanUp.doFilter(ActionContextCleanUp.java:102) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) >>>> >>>> at >>>> >>>> >>>> >>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) >>>> >>>> at >>>> >>>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) >>>> >>>> at java.lang.Thread.run(Unknown Source) >>>> >>>> >>>> >>>> -- >>>> >>>> ====== >>>> >>>> Funky Android Limited is registered in England & Wales with the >>>> >>>> company >>>> >>>> number 6741909. The registered head office is Kemp House, 152-160 >>>> >>>> City >>>> >>>> Road, London, EC1V 2NX, UK. >>>> >>>> The views expressed in this email are those of the author and not >>>> >>>> necessarily those of Funky Android Limited, it's associates, or it's >>>> >>>> subsidiaries. >>>> >>>> >>>> >>>> >>>> >>>> --------------------------------------------------------------------- >>>> >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>>> >>>> For additional commands, e-mail: dev-h...@struts.apache.org >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> >>>> >>> >>>> >>> >>>> >>> >>>> >> >>>> >> >>>> >> -- >>>> >> ====== >>>> >> Funky Android Limited is registered in England & Wales with the company >>>> >> number 6741909. The registered head office is Kemp House, 152-160 City >>>> >> Road, London, EC1V 2NX, UK. >>>> >> The views expressed in this email are those of the author and not >>>> >> necessarily those of Funky Android Limited, it's associates, or it's >>>> >> subsidiaries. >>>> >> >>>> >> >>>> >> --------------------------------------------------------------------- >>>> >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>>> >> For additional commands, e-mail: dev-h...@struts.apache.org >>>> >> >>>> >> >>>> > >>>> > >>>> > >>>> > -- >>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd >>>> > >>>> >>>> >>>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >>> For additional commands, e-mail: dev-h...@struts.apache.org >>> >>> >> >> >> >> -- >> "Hey you! Would you help me to carry the stone?" Pink Floyd >> > > > > -- > "Hey you! Would you help me to carry the stone?" Pink Floyd > -- "Hey you! Would you help me to carry the stone?" Pink Floyd --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org