This is interesting, thanks Scott. Maybe another option could be that of adding a "condition" attribute to the pre-processor element (like path="sub").
Jacopo On Feb 15, 2011, at 11:40 PM, Scott Gray wrote: > I regularly run into a situation where I need a pre-processor event to run > only for a sub-set of a webapp's requests, usually within a particular group > of screens (an example might be that you want to check that a specific > session attribute or request parameter is set before allowing access to that > set of requests). Currently you can only run an event for either a single > request (request-map.event) or for every request (preprocessor.event) within > a webapp, there isn't really any in-between. > > I threw together a quick PoC this morning for a sub-controller implementation > that would allow a webapp to have multiple controllers. Basically you have > your regular controller at /control/ but within the controller.xml you can > define sub-controllers and the path that it should use: > Main controller.xml > <sub-controller > location="component://example/webapp/example/WEB-INF/sub-controller.xml" > path="sub"/> > now every request to /control/sub/* will use the sub-controller.xml instead > of the main controller and is handled in exactly the same way as the main > controller would be. > > Any thoughts? > > Thanks > Scott > > HotWax Media > http://www.hotwaxmedia.com >
