Shale是一个基于JSF的web开发框架。Shale重用了大量的Struts基础代码,因此可以称Struts为它的"父"框架,但Shale是面向服务架构,它与Struts最大不同之处在于:Struts与JSF集成,而Shale则是建立在JSF之上。 Struts实质上是一个巨大的、复杂的请求处理器;而Shale则是一组可以以任何方式进行组合的服务。此外Shale加入了一些新的特性比如:
1.与Spring框架相集成可以使用Spring的依赖注入机制来创建JSF Managed bean。
2.提供一种可选的类似于Tapestry与Facelets使用纯HTML来定义视图。
3.提供测试框架,一组mock object和JUnit test case基类可以帮助测试自身框架的classe和在构建在该框架之上的应用组件。
4.提供AJAX的服务端支持。
5.Tiger扩展等。