Hi,

I'm migrating the tapestry framework of an application from 5.1.0.5 to 5.2.6
and I'm running into problems with locating the .html templates that hold
the .tml components.

public class MyTemplateLocator implements PageTemplateLocator
{
        private final ComponentClassResolver resolver;
        
        public MyTemplateLocator (ComponentClassResolver resolver)
        {
                this.resolver = resolver;
        }
        
        public Resource findPageTemplateResource(ComponentModel model, Locale
locale)
        {
                String className = model.getComponentClassName();
                if(!className.contains(".pages."))
                        return null;
                
                String logicalName = 
_resolver.resolvePageClassNameToPageName(className);
                int slashx = logicalName.lastIndexOf('/');
                if(slashx > 0)
                {
                        String simpleClassName = 
InternalUtils.lastTerm(className);
                        logicalName = logicalName.substring(0, slashx + 1) + 
simpleClassName;
                }
                
                String path = format("pages/%s.%s", logicalName, "html");
                return new ClasspathResource(path);
        }
}
public class TweaksModule
        public MyTemplateLocator buildMyPageLocator (ComponentClassResolver
componentClassResolver)
        {
                return new MyTemplateLocator (componentClassResolver);
        }

public static void contributeAliasOverrides(@InjectService("MyPageLocator")
PageTemplateLocator,
Configuration<AliasContribution&lt;PageTemplateLocator>> configuration)
        {
                
configuration.add(AliasContribution.create(PageTemplateLocator.class,
locator));
        }

This code works fine in 5.1.0.5 but after switching to 5.2.6,

PageTemplateLocator is moved, and no longer an interface, so I instead
implement the interface that it is now implementing in my own locator. But I
get an error;

"Page ws/Start did not generate any markup when rendered. This could be
because its template file could not be located, or because a render phase
method in the page prevented rendering."

What interface behaves in 5.2.6 the same way as PageTemplateLocator did in
5.1.0.5.

Thanks






--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Tapestry-5-1-0-5-to-5-2-6-migration-html-templates-tp5713624.html
Sent from the Tapestry - Dev mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to