Apache Tapestry is a Java web application framework that is organized around building pages from reusable components. Tapestry is a component-based framework, attempting to structure web applications into small, manageable and re-useable parts
Apache Wicket, commonly referred to as Wicket, is a lightweight component-based web application framework for the Java programming language conceptually similar to JavaServer Faces and Tapestry.
"In my opinion this is a more elegant solution than jsf and i think tapestry s ioc container makes it more powerful than wicket"
from question "Which Java web framework is a good choice for a web application with reusable content/behavior?"