Hi Geoffrey,

- If you distinguish between requests that are handled within the application 
context, and outside of the context, i.e.: by the container, then you can 
devise a more effective solution to handle these errors... 
- For instance 404 errors cannot be handled in a page (as the page is not 
found), so you need to move this logic into a RequestFilter or a Dispatcher.
- IMHO Tapestry error pages are best used for Runtime Exceptions that occur 
within the scope of the application, with Java Servlets you have the option to 
wire in a 404 or other error pages that override the containers defaults will 
minimal effort, there have been many posts on this in the list. 
- Tapestry also allows you to customize the handling of the 
RequestExceptionHandler (so you can easily create a pipeline of error filters)
- Pages have a special handler "onException(Throwable e)" to catch all thrown 
exceptions in a page so you can deal with these as you please (I personally use 
this in a base page that all other pages inherit from) so I get great reuse, 
then I wire them to an exception reporting service.

Cheers,
Peter


----- Original Message -----
From: "nillehammer" <tapestry.nilleham...@winfonet.eu>
To: "Tapestry users" <users@tapestry.apache.org>
Sent: Thursday, 12 March, 2009 01:33:37 GMT +02:00 Athens, Beirut, Bucharest, 
Istanbul
Subject: Re: Index Pages, 404s and Redirects

Hi Geoffrey,

afaik that can only be avoided by the page itsself handling the request.
So you would have to set the 404-code in onActivate
(HttpServletResponse.setStatus) and probably would want to use
Tapestry's Delegate-Component
(http://tapestry.apache.org/tapestry5/tapestry-core/ref/org/apache/tapestry5/corelib/components/Delegate.html)
to show an error message.

Regards, nillehammer

Geoffrey Wiseman schrieb:
> I'd like to use an Index page at the root of my Tapestry application (mostly
> to get the / URL in links rather than /start), but I'd like to respond to
> some of those page requests with a 404.
> I've done this using the pattern described on the last a few times by adding
> an onActivate(EventContext), which I look at to decide if I want to return
> an instance of a PageNotFound page.  This results in a redirect, which I
> believe is because this is an event handling-method.  I like the
> redirect-after-post pattern, and most of the time, I'd probably like to keep
> that as a default.  For this particular page, I don't want to use a redirect
> -- in part because I want the original request to 404, in keeping with the
> resource-oriented view of HTML.  Also, if I make a request for /myNewPage
> before it's there, and I then implement it and refresh, I want the resulting
> request to be for /myNewPage not /pagenotfound, which it'll be after the
> redirect.
> 
> So is it possible to avoid the redirect here without disabling
> redirect-after-post for the rest of Tapestry.
> 
> To be honest, if I could use a start page and get a "/" link instead of
> "/start" that would also solve my problem for the time being -- although I
> like the ability to provide a custom 404 tapestry page that this will give
> me.
> 
>   - Geoffrey

-- 
http://www.winfonet.eu

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


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

Reply via email to