Thanks for joining the Javaranch. Sometimes in other forum's you will get the typical question 'why did you write this book'. However I would like to start off with that question as well since there are so many struts books on the market already. What does make your book special. Is there some content in here that I cannot find in other books ?
We each had our own reasons for writing Struts Recipes. Here's mine...
Struts is very popular, but many people continue to solve the same problems in isolation. Most of the books out there are introductory. There was very little information on advanced things and problem solving. This observation becomes evident when you look over the mailing list. In addition, there were topics not covered at all. Danilo wrote an excellent chapter on the Struts Layout tags. These tags are very powerful, and require little effort to use them. The existing documentation didn't do them justice. Danilo fixed that problem.
Another area we felt there was little attention was application security. Therefore, there are a series of recipes describing how to apply security in various levels of granularity.
We felt there was too little emphasis on how to use Struts from an architectural perspective. Therefore, we included a recipe on building layered application.
Moreover, people were looking for "integration". They wanted to know how to integrate with Hibernate, how to create a PDF, how to transform XML using XSL, etc.
We also felt that most books fail to describe the rationale for their opinions. Rationale is critical. Readers can use this rationale to make their own decisions. Not every shoe fits every foot. Its difficult to make a decision that suits every circumstance. However, the rationale that accompanies every recipe allows the reader to validate the recipe against their situation to ensure that shoe fits that foot.