Struts is the most popular MVC framework used for J2EE web application development. This book covers the Struts architecture and basics such as data validation, tags and I18N. In addition, it covers a lot of tips, strategies and best practices for Struts based application design and development, many of them not found elsewhere. It tells you how to fill the gaps in Struts and what features are important in J2EE projects. The book provides a robust exception handling strategy that is production-ready. You will learn how to edit List based forms in Struts. You will also see how to use Paging framework with Struts and neat tricks. You will see when does customizing Struts really make sense in real projects. What's inside Struts basics - architecture, validation, tags, I18N Best Practices for designing Action classes Action chaining Robust exception handling with Struts Using Image buttons in Forms List Forms Paging libraries for Struts Handling Duplicate Form submission in generic way Customizing Struts
The book is decent and while reading it you must remind yourself that you get what you pay for - it _is_ free after all.
Motivation to read it: I read this book recently because my current project uses Struts 1.1. I'm looking to move away from Struts to something lighter (Stripes maybe?) so I wasn't looking for the Most Complete Struts Tutorial/Reference Ever.
Pros: does a good job explaining the MVC pattern, the reasons you'd want MVC and the reasons you'd want a pre-written framework rather than creating your own MVC framework. Also explains Struts' implementation of MVC well.
Cons: the grammar mistakes were so numerous that I was a bit distracted and the book did nothing to convince me that Struts is worth continuing to use. For example, the separation of duties the author assumes (into coder and designer) have never (in my opinion) been common. Much of the effort in explaining Struts comes down to heavy-handed configuration and vaguely-named attributes in struts-config.xml.
Conclusion: The book served its purpose and got me quickly up to speed on Struts 1.1.