So the persistence framework (using Hibernate) seems to be working swimmingly. I had some fun trying to get the persistent classes to deploy as an MBean – dependencies, etc. – but it worked out ok and I learned a little (just a little) about JMX and writing MBeans.
Now it's back to the earlier referenced decision on web frameworks. After talking it over we've decided to move forward with Struts. A big reason for this was support -- not in the traditional sense, but because Struts is so widespread we'll have an easier time finding books, articles, pattern implementations, etc. Not to mention it will make hiring easier -- this wouldn't be such a big deal if we were a big company, or we had Java gurus on staff, but we aren't and we don't. Additionally, this will be more palatable to clients who expect to be able to extend things themselves.
Time for a crash course on JSP and taglibs...