I have been working with Struts and am very impressed. But it seems to me that for Struts to be competitive with XML/XSL-based designs from a usability perspective, it eventually needs to do a few of their more popular tricks. I'm not sure if these are tooling or platform issues, but I would love to hear people's opinions on this subject. I looked around a bit (e.g. I read the threads on ActionForm generation via XSLT, CodeMaker; etc.) before posting, so hopefully these are not moot points. Hopefully struts-user is also the right place for this discussion. Anyway, thanks for any comments you may have...
Document generation: In Struts, one has to create an ActionForm bean to represent a document schema. Not a problem for me, but potentially a problem if I'm trying to put together a development environment for the average HTML hack. I've seen several tools that allow generation of form beans from JSPs or XML instance data (like CodeMaker), but nothing yet that uses a DTD or XML Schema as the source. In an enterprise app development scenario, it seems likely that the document will often be pre-defined and the page designer will need to work from that, rather than automatically generating the document from the page design. Therefore, support for the prevailing document schema standards (DTD, XSD) seems key. The closest options I've found are the various data binding solutions out there (JAXB, Castor, and some various IBM tools), but I didn't see a way to generate *ActionForm* beans from them -- for example, Castor will allow generation of beans from XSD, but things like the signature of the validate() method don't entirely match those in ActionForm. I didn't see an easy way in any of these tools to sufficiently customize the output, beyond things like superclass and package name. If one has to manually alter or wrap the generated bean, it probably defeats the purpose (namely, automation and convenience). Has anyone tried using JAXB or Castor to generate their ActionForm beans? Anyone been successful? Manipulation of complex documents: On a related note... with XML it is easy to describe a complex, hierarchical document, and with XSL it is easy to render this document as HTML. But in Struts, it seems that the forms -- and accompanying tools like the Struts taglibs -- are geared toward simpler, flatter documents. If there were an easy way for page designers to control the display of complex documents and the generation of forms from them, it would go a long way toward Struts being utilized in industrial-grade forms scenarios (like RFQs, purchase orders, etc.). For example, if my document (originally derived from an XSD) contains an optional repeating element group, how can a developer easily represent that capability on a Struts page? Ideally they would want a taglib that automatically provides an HTML link that, when clicked, adds the new optional element group to the document instance and redraws the form to include its contained fields. Do these issues seem relevant? If so, has anyone had any luck addressing them within the Struts framework? regards, --Steve

