Hi all, I have a question regarding Dynamic component. I use it for keeping parts of tml code in the database. It renders insertions used for functions calling such us ${someFunc('someParam')} , but it does not render any tapestry tags correctly. It just omits "t" prefix instead and adds xmlns attribute. For example, the following code
<t:if test="true">asdf</t:if> Rendered to: <if test="true" xmlns="http://tapestry.apache.org/schema/tapestry_5_3.xsd">asdf</if> What are the suggestions? Are there any good examples of code in the net? Here is My code: public class TrackerDynamic extends Tracker { @Property private DynamicTemplate dynamicTemplate; @InjectService("DynamicTemplateParser") private DynamicTemplateParser dynamicTemplateParser; private String getTemplateString() { StringBuilder sb = new StringBuilder( "<div id=\"trackerDynamic\" xmlns:t=\"http://tapestry.apache.org/schema/tapestry_5_3.xsd\" xmlns:p=\"tapestry:parameter\">\n"); sb.append(...//some code for inserting custom data from database sb.append("</div>"); return sb.toString(); } @Override void beginRender() { try { dynamicTemplate = dynamicTemplateParser.parseTemplate( new StringResource(getTemplateString()) ); } catch (Exception ex) { } } } TrackerDynamic.tml: <t:container xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" xmlns:p="tapestry:parameter"> <t:Dynamic template="prop:dynamicTemplate"></t:Dynamic> </t:container> StringResource.java: public class StringResource implements Resource { private String tml; public StringResource(String tml) { this.tml = tml; } @Override public boolean exists() { return false; } @Override public InputStream openStream() throws IOException { return new ByteArrayInputStream(tml.getBytes("UTF-8")); } @Override public URL toURL() { return null; } @Override public Resource forLocale(Locale locale) { return null; } @Override public Resource forFile(String relativePath) { return null; } @Override public Resource withExtension(String extension) { return null; } @Override public String getFolder() { return null; } @Override public String getFile() { return null; } @Override public String getPath() { return null; } }