Hi nille,

i got the same problem. This part isn't good documented, look at this snippet from the TapestryModule:

   /**
    * The MasterDispatcher is a chain-of-command of individual Dispatchers, 
each handling (like a servlet) a particular
    * kind of incoming request. <dl> <dt>RootPath</dt> <dd>Renders the start page for the 
"/" request</dd>
    * <dt>Asset</dt> <dd>Provides access to classpath assets</dd> 
<dt>VirtualAsset</dt> <dd>Provides access to combined
    * scripts</dd> <dt>PageRender</dt> <dd>Identifies the {...@link 
org.apache.tapestry5.services.PageRenderRequestParameters}
    * and forwards onto {...@link PageRenderRequestHandler}</dd> 
<dt>ComponentEvent</dt> <dd>Identifies the {...@link
    * ComponentEventRequestParameters} and forwards onto the {...@link 
ComponentEventRequestHandler}</dd> </dl>
    */
   public static void 
contributeMasterDispatcher(OrderedConfiguration<Dispatcher> configuration)
   {
       // Looks for the root path and renders the start page. This is 
maintained for compatibility
       // with earlier versions of Tapestry 5, it is recommended that an Index 
page be used instead.

       configuration.addInstance("RootPath", RootPathDispatcher.class, 
"before:Asset");

       // This goes first because an asset to be streamed may have an file 
extension, such as
       // ".html", that will confuse the later dispatchers.

       configuration.addInstance("Asset", AssetDispatcher.class, 
"before:ComponentEvent");

       configuration.addInstance("VirtualAsset", VirtualAssetDispatcher.class, 
"before:Asset");

       configuration.addInstance("ComponentEvent", ComponentEventDispatcher.class, 
"before:PageRender");

       configuration.addInstance("PageRender", PageRenderDispatcher.class);
   }


I think you have to specify one more constraint to insert your Dispatcher between the ComponentEvent and PageRender dispatcher.

configuration.add("LoginDispatcher", loginDispatcher,  "before:PageRender", 
"after:ComponentEvent");

Worked for me :)



nille hammer schrieb:
Hi List,

I have implemented a LoginDispatcher like explained in the wiki 
(http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher). Then I 
contributed it to the MasterDispatcher's configuration with the following code:
configuration.add("LoginDispatcher", loginDispatcher,  "before:PageRender");

So far so good. Everything works up to this point. If I got it right I would end up with a chain of Dispatchers in the following order:  
"RootPath",  "Asset", "ComponentEvent", "LoginDispatcher",  "PageRender". Although 
"LoginDispatcher" is put after "Asset" I still see requests for Assets (i.e. /assets/xxx ) in my LoginDispatcher. I thought, this 
could not be the case as these requests should have been handeled by AssetDispatcher. What did I get/do wrong?

Thanks in advance, nillehammer

==
http://www.winfonet.eu



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to