Erik's Struts/XDoclet example application
Erik Hatcher has released his "much hyped and long awaited sample application" demonstrating how to generate some Struts goodness with XDoclet. You'll be happy to know that I've been swapping e-mails with Erik a lot in the past couple weeks - so my struts-xdoclet app is very similar. Here are the details:
It is a trimmed down version of the application Steve and I developed for our Java Development with Ant book. Relevant to Struts folks are these tidbits: - XDoclet is generating struts-config.xml, validation.xml, web.xml, and antbook.tld - LabelTag (currently mysteriously busted for required tagging) is included. This tag styles field labels differently if its in error, and (when its not busted, it works on my production app actually) it shows an asterisk by required fields. - strutsgen: a one-off starter generation for JSP's and ApplicationResources.properties snippets for cutting and pasting into the main application. It uses XDoclet to process a specified form bean and uses the fields it finds for generation. - Use of StrutsTestCase for Cactus testing. - Maybe some other Struts goodies lurking there that I've forgotten to mention. The application itself is a document search engine, based on Lucene, and should run out of the box in Tomcat or JBoss. It even has the ability to (at build time) toggle between whether to use a session bean or not (functionality is the same either way). By default, you can simply deploy the WAR that you've built and it will work without EJB, but if you are interested in exploring the session bean piece it can be turned on. I am in the process of creating much more detailed documentation, but I wanted to get this out sooner rather than later. If you find any problems or have any questions, please do not hesitate to let me know so I can refine it and post updates. The one documentation I need to provide now is to note that you'll need j2ee.jar to build. I include all other API's. To build, unzip the file (link below) and it will expand into JavaDevWithAnt directory. In that directory, run Ant. If you have J2EE_HOME set you shouldn't need to do anything... just "ant". You'll also need to build a site index, so run "ant build-site-index". This is intentionally two separate steps. If you don't have J2EE_HOME set, then you need to provide j2ee.jar to the build. Do it this way: ant -Dj2ee.jar=/path/to/my/j2ee.jar Where "/path/to/my/j2ee.jar" is the actual path to your j2ee.jar Post any questions/problems to me directly. E-mail me at [email protected]. Download: http://www.ehatchersolutions.com/downloads/ You will need JUnit 3.8(.1) as I take advantage of the new lack of required String-arg constructors. junit.jar should live in ANT_HOME/lib. Ant 1.5(.1) is required also. There will be updates in the next week or so as I polish the documentation and address any issues that turn up. Erik