Hm, well, on an event, tapestry is definitely looking for a result from the 
event; it normally falls to the ComponentEventResultProcessor service to handle 
that return value and determine what to send the client, with the default 
action being (for void event handlers) to re-render the page.

Just thinking "out loud"... what if you inject PageRenderLinkSource 
(http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/PageRenderLinkSource.html)
 into the Conroller?  Then you could still use the controller.setView and 
generate a page render link inside your controller,  If you also inject the 
Response service 
(http://tapestry.apache.org/current/apidocs/org/apache/tapestry5/services/Response.html)
 into your controller, you could do response.sendRedirect(theLink).  Not sure 
if that gets you the exact behavior you want, but it might be a place to start.

Robert

On Jul 21, 2011, at 7/211:58 PM , Norman, Jason wrote:

> Hello,
> 
> I'm working on porting a fairly large Tap3 application to Tap5. I understand 
> there is a large difference, and many of the concepts don't translate. But I 
> am hoping for a little nudge in the right direction, since I've spent a few 
> days searching the web for ideas.
> 
> I have a lot of existing code that I need to hang on to, and we have good 
> layer separation so that makes it easier to do. But I am having trouble 
> figuring out how to tie our view into the controller layer.
> 
> Using tutorials and examples, I think I have a good understanding of how to 
> navigate among pages using T5, but what I can't figure out is how to let a 
> controller navigate to a page.
> 
> In T3, I would put a controller in the page class, then hand the page class 
> itself to the controller (something like controller.setView(this) in the page 
> class), then the controller does it's work and at the end it gets the 
> RequestCycle from the page, and uses that to navigate to the appropriate next 
> page, using the activate method on the RequestCycle. In all of the T5 
> examples I find, all page navigation is done from within the page class 
> itself. Since T5 doesn't have the RequestCycle, I'm not sure exactly where to 
> look to find that kind of functionality.
> 
> It occurs to me that I could do this by returning page classes from the 
> controller back to the original page, which could then return them from the 
> action methods, but that would be a little bit more refactoring in my 
> controller than I was hoping to do. I was hoping I could leave my controllers 
> more or less alone and rewrite the app at the page level, since the goal is 
> to have exactly the same behaviors in the T5 version.
> 
> Any ideas or suggestions or advice?
> 
> Thanks.


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

Reply via email to