Yes, this is a bug in RootPathDispatcher: https://issues.apache.org/jira/browse/TAPESTRY-1627
Until it's fixed, if you really need to you can patch Tapestry at runtime by adding the code below to your AppModule. Cheers, Nick. public void contributeMasterDispatcher( OrderedConfiguration<Dispatcher> configuration, PageRenderRequestHandler pageRenderRequestHandler, ComponentClassResolver componentClassResolver, @Symbol("tapestry.start-page-name") String startPageName, @InjectService("PageResponseRenderer") PageResponseRenderer pageResponseRenderer) { class RootPathDispatcherFix implements Dispatcher { private final ComponentClassResolver _componentClassResolver; private final PageRenderRequestHandler _handler; @SuppressWarnings("unused") private final PageResponseRenderer _renderer; private final String _startPageName; private final String[] _emptyContext = new String[0]; public RootPathDispatcherFix( final ComponentClassResolver componentClassResolver, final PageRenderRequestHandler handler, final PageResponseRenderer renderer, final String startPageName) { _componentClassResolver = componentClassResolver; _handler = handler; _renderer = renderer; _startPageName = startPageName; } public boolean dispatch(Request request, final Response response) throws IOException { // Only match the root path if (!request.getPath().equals("/")) return false; if (_componentClassResolver.isPageName(_startPageName)) { ActionResponseGenerator responseGenerator = _handler.handle(_startPageName, _emptyContext); if (responseGenerator != null) responseGenerator.sendClientResponse(response); return true; } return false; } } // Looks for the root path and renders the start page configuration.add("RootPathFix", new RootPathDispatcherFix(componentClassResolver, pageRenderRequestHandler, pageResponseRenderer, startPageName), "before:RootPath"); } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]