This is a problem of FreeMarker not being able to locate TLDs when running under Jetty. I ran Showcase under tomcat and it works fine.
musachy On Sat, Dec 27, 2008 at 5:38 PM, Musachy Barroso <musa...@gmail.com> wrote: > 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 > -- "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