Return-Path: Delivered-To: apmail-tiles-users-archive@minotaur.apache.org Received: (qmail 92991 invoked from network); 29 Jul 2010 15:15:47 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 29 Jul 2010 15:15:47 -0000 Received: (qmail 71275 invoked by uid 500); 29 Jul 2010 15:15:47 -0000 Delivered-To: apmail-tiles-users-archive@tiles.apache.org Received: (qmail 71166 invoked by uid 500); 29 Jul 2010 15:15:46 -0000 Mailing-List: contact users-help@tiles.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@tiles.apache.org Delivered-To: mailing list users@tiles.apache.org Delivered-To: moderator for users@tiles.apache.org Received: (qmail 5987 invoked by uid 99); 28 Jul 2010 21:48:39 -0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of heamaya@gmail.com designates 74.125.82.51 as permitted sender) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=dLeZv/9mZ0cZzHTBx5FMt0cxP1NvLCGTkVrtR3Euink=; b=jNZ9fFiDqF7FAQEDlzOEZqxoBbNxuNOPS4a8hQpsnid5S+eN2T4JiqJekEMHDSBCQ3 sMwYR2z9vuD6d7Ok1on5czSgYvi2DBCyiayXc7EccODUiOHjeIkYQNoUpF/uxjKaaKmx NDbdqkPCz78poPKR5fFG/8MU2TdbQ9IApz+kU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=QtOnmo7Uh+SxV6zQwLa3IWGngmbBqqcuUSOuGkkktXUce2VH/zejqXtXJvbxDri4Op XJglt3N3ewdVfolh3yG8jjomQMHMulNYTtSMyu6JpF5rU4MF3Bm2+WqY008217P7BJsL 9eFO3exK9cvfDlj8oQoMnV4c8vcSwg9vKWrb8= MIME-Version: 1.0 Date: Wed, 28 Jul 2010 18:48:10 -0300 Message-ID: Subject: Struts 2 Tiles 2 Freemarker Integration From: =?ISO-8859-1?B?SGVybuFu?= To: users@tiles.apache.org Content-Type: multipart/alternative; boundary=0016367f9f78ecdb21048c799297 X-Virus-Checked: Checked by ClamAV on apache.org --0016367f9f78ecdb21048c799297 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable As I try to configure freemarker with struts 2 when I add the method registerAttributeRenderers to a class that extends BasicTilesContainerFactory I get an error I cannot resolve. package ro.tiles; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.apache.tiles.TilesApplicationContext; import org.apache.tiles.TilesContainer; import org.apache.tiles.context.TilesRequestContextFactory; import org.apache.tiles.evaluator.AttributeEvaluatorFactory; import org.apache.tiles.factory.BasicTilesContainerFactory; import org.apache.tiles.freemarker.renderer.FreeMarkerAttributeRenderer; import org.apache.tiles.renderer.impl.BasicRendererFactory; public class RoTilesFactory extends BasicTilesContainerFactory { @Override protected List getSourceURLs(TilesApplicationContext tilesApplicationContext, TilesRequestContextFactory tilesRequestContextFactory) { List urls =3D null; try { urls =3D new ArrayList(); urls.add(tilesApplicationContext.getResource("/WEB-INF/tiles_en_US.xml")); } catch(Exception exception) { } return urls; } @Override protected void registerAttributeRenderers( BasicRendererFactory rendererFactory, TilesApplicationContext applicationContext, TilesRequestContextFactory contextFactory, TilesContainer container, AttributeEvaluatorFactory attributeEvaluatorFactory) { FreeMarkerAttributeRenderer freemarkerRenderer =3D new FreeMarkerAttributeRenderer(); freemarkerRenderer.setApplicationContext(applicationContext); freemarkerRenderer.setAttributeEvaluatorFactory(attributeEvaluatorFactory); freemarkerRenderer.setRequestContextFactory(contextFactory); freemarkerRenderer.setParameter("TemplatePath", "/WEB-INF/ftl/"); freemarkerRenderer.setParameter("NoCache", "true"); freemarkerRenderer.setParameter("ContentType", "text/html"); freemarkerRenderer.setParameter("template_update_delay", "0"); freemarkerRenderer.setParameter("default_encoding", "ISO-8859-1"); freemarkerRenderer.setParameter("number_format", "0.##########"); freemarkerRenderer.commit(); rendererFactory.registerRenderer("freemarker", freemarkerRenderer); } } org.apache.tiles.reflect.CannotInstantiateObjectException: Unable to resolv= e factory class: 'definition' at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:109) at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:82) at org.apache.tiles.renderer.impl.BasicRendererFactory.getRenderer(BasicRender= erFactory.java:181) at org.apache.tiles.factory.BasicTilesContainerFactory.createDefaultAttributeR= enderer(BasicTilesContainerFactory.java:438) at org.apache.tiles.factory.BasicTilesContainerFactory.createRendererFactory(B= asicTilesContainerFactory.java:413) at org.apache.tiles.factory.BasicTilesContainerFactory.createContainer(BasicTi= lesContainerFactory.java:111) at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractT= ilesInitializer.java:124) at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesI= nitializer.java:70) at org.apache.tiles.web.startup.AbstractTilesInitializerServlet.init(AbstractT= ilesInitializerServlet.java:61) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1= 173) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java= :4149) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045= ) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045= ) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3= 9) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp= l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.ClassNotFoundException: definition at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja= va:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja= va:1233) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.tiles.reflect.ClassUtil.getClass(ClassUtil.java:67) at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:103) ... 26 more Jul 28, 2010 6:35:17 PM org.apache.catalina.core.StandardContext loadOnStartup SEVERE: Servlet /RemOpt threw load() exception java.lang.ClassNotFoundException: definition at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja= va:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.ja= va:1233) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at org.apache.tiles.reflect.ClassUtil.getClass(ClassUtil.java:67) at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:103) at org.apache.tiles.reflect.ClassUtil.instantiate(ClassUtil.java:82) at org.apache.tiles.renderer.impl.BasicRendererFactory.getRenderer(BasicRender= erFactory.java:181) at org.apache.tiles.factory.BasicTilesContainerFactory.createDefaultAttributeR= enderer(BasicTilesContainerFactory.java:438) at org.apache.tiles.factory.BasicTilesContainerFactory.createRendererFactory(B= asicTilesContainerFactory.java:413) at org.apache.tiles.factory.BasicTilesContainerFactory.createContainer(BasicTi= lesContainerFactory.java:111) at org.apache.tiles.startup.AbstractTilesInitializer.createContainer(AbstractT= ilesInitializer.java:124) at org.apache.tiles.startup.AbstractTilesInitializer.initialize(AbstractTilesI= nitializer.java:70) at org.apache.tiles.web.startup.AbstractTilesInitializerServlet.init(AbstractT= ilesInitializerServlet.java:61) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1= 173) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java= :4149) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4458) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045= ) at org.apache.catalina.core.StandardHost.start(StandardHost.java:722) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045= ) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:583) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:3= 9) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp= l.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) --=20 Hern=E1n --0016367f9f78ecdb21048c799297--