Great opensource sample app.
posted 14 years ago
Here's an email excerpt from a fellow Java enthusiast at RTPJUG in North Carolina. Since this happens to be the topic of giveaway this week, I thought I should share this with all.
I hope Erik doesn't mind
I hope Erik doesn't mind
Ant/XDoclet/Struts/JUnit/Cactus sample app.
The application I used in my September TriJUG presentation, and thereafter at several symposiums, another JUG (NOVA JUG) and ApacheCon has now been bundled for mass release.
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.
For XDoclet folks, these are of interest:
- The strutsgen subproject uses custom templates and a custom tag handler demonstrating some powerful features of XDoclet.
- Use of Ant property substitution in XDoclet tags.
- Use of XDoclet template tags in merge points, showing how to do some conditional things out-of-the-box with XDoclet (turning Cactus servlet on and off, in this example).
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 (from the J2EE 1.3+ SDK). 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:
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 JavaDevWithAnt@ehatchersolutions.com.
Latest version is 0.3, and its been proven to work on Windows and Mac OS X. You will need Ant 1.5(.1) and JUnit 3.8(.1).