You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.
A very small subtility about Seam exception handling by SeamFilter, is that this one adopts a
catch last strategy, meaning that only exceptions not caught by an other framework or application layer will be handled and injected through the rules mechanism declared in pages.xml.
It occurs that Apache MyFaces default attitude is to handle all the Exceptions, and to delegate them to the built-in Error mechanism (rendering a wonderful error debug page if no error page was configured). That means that the exceptions are always considered as handled, and Seam won't see them.
The solution is easy to setup, it just consists in disabling error management in myFaces :
<context-param> <param-name>org.apache.myfaces.ERROR_HANDLING</param-name> <param-value>false</param-value> </context-param>
That's it! Seam is now responsible for Exception handling. If not, check you don't use another framework that catches exceptions up.