We don't want to favor any particular one of the technologies presented in this book. The Spring philosophy is that this is your choice, which you should make based on your application's requirements and your team's skillset. You should realize that choosing one of the technologies for one or more projects will have an impact. Not only during, but also after development, business requirements will dictate changes to the interface of an application. Experience with the view technology chosen should be spread over a team, and although the greater part of the development of interfaces is often done by HTML designers and programmers, the Java developers themselves should also be familiar with it.
Be pragmatic when choosing a view technology. Look at how well the technology in question fits in the overall technical architecture. However it's often more important to review the knowledge of your project team and the amount of effort required to implement and (often most importantly) maintain an application's web interface.
Spring enables you to choose whichever view technology you prefer. If your team is more experienced in using Velocity, nothing is preventing you from implementing your application using it. Even better: It's possible — quite easy in fact — to use multiple view technologies at the same time. For example, you can use both FreeMarker as well as JavaServer Pages in the same application. We'll see how to do that in this chapter.
A more thorough discussion of view technologies and what aspects and criteria to keep in mind when deciding on one can be found in J2EE Development without EJB by Johnson and Hoeller.