title: JSF or JSP 2 Tag Files for new project
body: <p>I have a requirement to amalgamate functionality from some parked  Java side-projects into a new application and am trying to make a decision on some of the third-party libraries to use, specifically relating to the UI.  I would be very interested to get some feedback from tech arch oriented members on their views in relation to recent java framework trends and experiences.</p>
  
  <p>The legacy projects are a mixed-bunch, all web-based, lots of business logic around CRUDable objects with searches. One uses an in-house framework - very fast, scalable, but with the disadvantages associated with in-house work - learning curve for new devs etc.  Another, a Tapestry 5 app - very robust, terrific integration with XFire / CXF for generating web services, rapid UI generation, but with a good learning curve for non-Tapestry types.  The third, a Spring 3 app, using JSP 2.0 Tag Files for view layer, with some sprinklings of JQuery for presentation / ajax.</p>
  
  <p>I'm very familiar with Spring and find tag files for the UI with Tiles very effective in terms of low-complexity and performance.  I have also recently wrapped up a project that used RichFaces 4 which was successful and came in on time.  I like the rich UI that comes for free with RF / IceFaces etc., and have noticed that JSF in its more recent versions has retired JSP altogether.</p>
  
  <p>To cut to the chase, is the restriction of using a component based UI library with clearly defined but unmodifiable behaviour like RF / IF a better fit for a new app than a roll-your-own solution, with tag files / JQuery.  I'm more familiar with the latter, but don't want to go down the wrong path at this early stage of a project by adopting an out of date approach.  I want to continue using Spring 3 Controllers for RESTful, bookmarkable application entry points - do IF / RF mix with Spring or does a JSF approach remove the MVC obligation completely from Spring?</p>
  
  <p>If the MVC obligation is removed from Spring:</p>
  
  <ul>
  <li><p>how would the JSF lifecycle integrate with Spring - would it be self-contained and just use IOC for wiring Spring services?</p></li>
  <li><p>is there good integration with a IF / RF approach for generating web services etc.?</p></li>
  <li><p>what kind of support do IF / RF have for tablet / mobile?</p></li>
  <li><p>is Spring needed at all - would managed beans do the trick?</p></li>
  </ul>