Apache Struts Web Application Framework
News and Status
Status
Community
Recent News
2002 3rd Quarter News
2002 2nd Quarter News
2002 1st Quarter News
2001 News
Quick Links
Welcome
News and Status *
Resources
User Guide
FAQs and HowTos
News

31 Dec 2002 - Review of "Struts Kick Start" now on Slashdot

Let the mindless sniping and anti-microsoft tirades begin!

http://books.slashdot.org/books/02/12/27/1559200.shtml?tid=108


31 Dec 2002 - Struts 1.1 Beta 3 Released

The Struts team is proud to announce the release of Struts 1.1 Beta 3. This release includes significant new functionality, while retaining full backwards compatibility with earlier versions of Struts. It also incorporates fixes for a number of bugs which were reported against earlier versions.

The binary distribution is available at:

http://www.apache.org/dist/jakarta/struts/binaries/

and the source distribution is available at:

http://www.apache.org/dist/jakarta/struts/source/

In addition, the library distribution, which contains updated binaries without the sample applications, is available at:

http://www.apache.org/dist/jakarta/struts/library/

Details of the changes in this release are available in the Release Notes, which can be found here:

http://jakarta.apache.org/struts/userGuide/release-notes-1.1-b3.html


27 Dec 2002 - Java Development with Ant

I'm proud (and worried about the support e-mails! :) to announce the near-final release of a project demonstrating Ant, XDoclet, Struts, JUnit, Cactus, and Lucene. Its called JavaDevWithAnt as it was written for the book Steve and I co-authored and has been refined during several presentations I've been giving on Ant, XDoclet and Struts.

The documentation is in draft stage, and my primary goal is to collect feedback on polishing the documentation (and the application if there are any bugs that surface). The site where I'm hosting the distribution and documentation is:

http://www.ehatchersolutions.com/JavaDevWithAnt/

Please let me know if you try it out and have suggestions for improvement, or just to let me know you tried it and hate it or love it, etc. Feedback more than welcome! Direct feedback to me at JavaDevWithAnt@ehatchersolutions.com

p.s. Since this is directed to the Struts lists, here are some hilights:

  • - XDoclet generation of struts-config.xml and validation.xml
  • - Custom XDoclet generation of starter JSP and application properties based on form bean source code
  • - My proudest taglib, LabelTag - shows fields in error and marks required fields with an asterisk.
  • - Use of StrutsTestCase in Cactus mode to test a Struts Action.

29 Dec 2002 - BasicPortal 0.7k available on SourceForge

The BasicPortal Project has released version 0.7k. BasicPortal is a Struts based application that can help your developers get a head start on their Portal development. Setup the database and deploy the .war and you are ready to go!

Version 0.7k contains:

  • - ability to add content to comments
  • - contact manager module
  • - task manager module
  • - email module
  • - custom DAO
  • - secure modules

The BasicPortal application can be customized for use in your company.

Any questions on BasicPortal should be directed to the MVC Progammers list -- mvc-programmers@basebeans.com.


12 December 2002 - Struts book #1 and #2

Struts Kick Start by James Turner and Kevin Bedell is now available from Amazon for immediate delivery:

Buy one, buy two. They make great stocking stuffers. Use them as door stops. Learn to use the enclosed CD as a lethal thrown weapon. Fun for the whole family.


12 December 2002 - Struts book #1 and #2

Struts books top the #1 and #2 slots on Amazon's Java Programming bestseller list!


3 December 2002 - Struts book rated 11 out of 10

(3 December 2002)
Struts in Action rated 11 out of 10 by Slashdot.


27 Nov 2002 - Expresso 5.0.2 Released

Expresso 5.0.2 can be downloaded freely from:

http://www.jcorporate.com/product/expresso.html

Both Expresso source and binaries are available.

This minor release is primarily a bug fix release. Bug Fixes include a NPE fix in JDBC Executor, a Blob Field fix, Validation improvements, and ComponentManager link fixes.

New Features (not affecting existing code) include a proper Struts-based ExLink tag by Malcolm Wise.


24 Nov 2002 - O'Reilly Struts Book Now Available

Programming Jakarta Struts by Chuck Cavaness (ISBN: 0596003285) is now available and shipping.


17 Nov 2002 - Struts At ApacheCon 2002

If you're coming to Las Vegas this week for ApacheCon, there will be two sessions and a Birds of Feather meet specifically focused on Struts:

  • Session TU07 (Tuesday, 1:30-2:30) - What's New In Struts 1.1
  • Session WE06 (Wednesday, 10:00-11:00) - Building Web Applications With Struts
  • BOF BOF03 (Tuesday, 8:00p-9:00p) - Struts After 1.1 -- Where Do We Go From Here?

The BOF is primarily an opportunity to gather input from folks on our initial thinking about the 1.2 and 2.0 roadmaps, and to answer any general questions that people have.

The sessions and BOF will be lead by Craig McClanahan. Craig looks forward to meeting any Struts users (and developers) attending the conference. You can find him at one of these sessions, or hanging around the Sun booths in the Exhibit Hall.


15 Nov 2002 - Struts ImageButtonBeanManager v0.2d

Version 0.2d of the ImageButtonBeanManager is now available on SourceForge.net.

ImageButtonBeanManager is a Struts Extension Package that supports the Struts HTML Image Tag and the ImageButtonBean class in a manner that is analgous to the support provided by Struts for the Struts HTML Submit Tag.

It extends Ted Husted's ImageButtonBean approach with a few new features, such as automatically mapping the selected ImageButton to an ActionForward and eliminating the need to define ImageButtonBean instances in the ActionForm.

It builds on this capability and adds some features for similar support of the SubmitButton, yielding several new DispatchAction classes. The DispatchAction classes can be used to develop "Action Flows", which are analgous to server-side Action scripts. "Action Flows" are discussed in detail in the documentation (please see the "DispatchAction Classes page".)

The ImageButtonBeanManager DispatchAction classes are "ready-to-use" in that they don't need to be extended or require any application-specific code. They can be used in lieu of an application's extensions of the Struts DispatchAction or LookupDispatchAction classes. They have the potential for relieving much of the dispatching duties of application-specific Actions. That should bring the side benefit of reducing the level of coupling between JSPs and Actions.

Larger development projects might get more benefit from this than smaller ones ...

The developer documentation, JavaDoc, Java code and a sample WebApp are running at:

http://imagebuttonbeanmgr.webhop.org/


15 Nov 2002 - [FRIDAY] Top 10 things likely to be overheard from a Klingon Programmer

From: Andrew Hill

10. Specifications are for the weak and timid!

9. You question the worthiness of my code? I should kill you where you stand!

8. Indentation?! - I will show you how to indent when I indent your skull!

7. What is this talk of 'release'? Klingons do not make software 'releases'. Our software 'escapes' leaving a bloody trail of designers and quality assurance people in its wake.

6. Klingon function calls do not have 'parameters' - they have 'arguments' - and they ALWAYS WIN THEM.

5. Debugging? Klingons do not debug. Our software does not coddle the weak.

4. A TRUE Klingon Warrior does not comment on his code! Klingon software does NOT have BUGS. It has FEATURES, and those features are too sophisticated for a Romulan pig like you to understand.

3. You cannot truly appreciate Dilbert unless you've read it in the original Klingon.

2. Our users will know fear and cower before our software!

1. Ship it! Ship it and let them flee like the dogs they are!


13 Nov 2002 - Easy Struts 0.6.1 Eclipse plugin

Easy Struts 0.6.1 was just released, all the wizard was refactored, a Struts view was added and Struts 1.1 modules are supported.

Easy Struts Features:

  • Easy Struts plugin can be used with most popular J2EE plugin like Sysdeo TomcatResin, Lomboz... (or simply a Java project).
  • Provide Struts configuration editor for Struts 1.0 and Struts 1.1 files.
  • Now use XSLT generation.
  • Provide a global tree view of any Java project with Easy Struts support.
  • Full support for Struts 1.1 modules (with 1 last nightly build).
  • Tool tips extracted from Struts DTD.
  • Input helper (chooser dialog and validation).
  • Compatible with IBM WSAD 5

Install it from update manager:

http://easystruts.sourceforge.net/update.html

or

Download it: http://easystruts.sourceforge.net


13 Nov 2002 - Tiles and Validator Support in ObjectAssembler 2.5

ObjectAssembler 2.5 Pro is now available:

http://www.objectventure.com/objectassembler.html

New Struts features in this release:

  • Full support for Tiles definitions
  • Full support for Validator 1.0 configurations
  • Jump from any element in our visual editor to its associated XML
  • Two-way development. Changes made to XML are immediately reflected in the visual editor and vice versa
  • Two additional component types: Struts Exception and Validator (allows the implementation of Validator rules). For each of these components that are created, their use is automated in the Struts, Tiles, and Validator configuration editor
  • Updated all Struts support to the latest 1.1 builds.

ObjectAssembler doesn't just help you generate configuration files. It is a component-based Struts development environment that assists you in building both Struts components and configuration files. It also automates the process of packaging them in a WAR and generating the WAR itself.

ObjectAssembler is currently supported in Jbuilder, Netbeans, Sun ONE Studio, and as a standalone IDE. We are working on the next supported IDE (the most popular requests being IDEA and Eclipse).

I invite you to take ObjectAssembler for a spin. The User Manual, which is provided with the installation, explains how to make use of ObjectAssembler's Struts support. We also have some simple Struts Viewlets available here if you aren't quite up to downloading yet: http://www.objectventure.com/demos.html. If you have any questions/problems/feedback, please contact me directly or join me here:

http://support.objectventure.net.


09 Nov 2002 - Management-oriented Powerpoint Presentation for Struts

James Turner and Kevin Bedell have collaborated on a Management Powerpoint presentation that can be used to make the case for using Struts for development.

http://www.strutskickstart.com


08 Nov 2002 - 2 Part Series on Onjava.com

Part I of a two part series on Struts v1.1 is posted on Onjava.com at

http://www.onjava.com/pub/a/onjava/pub/a/2002/11/06/struts1.html

Part II will be posted next week.

'The Struts Framework: A Practical Guide for Java Programmers' (MK) is now shipping. Order your copy now from the featured online store: http://www.softpro.com/1-55860-862-1.html


07 Nov 2002 - Struts in Action now in print

The Manning book, Struts in Action, is now available for sale at the publisher's website and will arrive at bookstores everywhere over the next few weeks. Struts solves the most common problems of Web development by providing an open source framework for building Web applications. As the only book with full coverage of both Struts 1.0 and the upcoming Struts 1.1, Struts in Action points out the differences between the two and builds a case study that illustrates the transition from one to the other. The authors of the Manning book are core members of the Struts community who are intimately involved in the Struts development process.

Manning makes this text available in either ebook edition for $22.47 or print edition for $44.95 at www.manning.com/husted. If you order the ebook from Manning's website first, you will receive a special offer on the print edition. If you later purchase the print edition from the publisher's website, Manning will deduct the cost of the ebook from the print edition order - that's both editions for $44.95! Please remember, to get this deal, you must order the ebook first.

Struts in Action
By Ted N. Husted, Cedric Dumoulin, George Franciscus, David Winterfeldt
ISBN 1930110502
Softbound, 664 pages, $44.95
Ebook, 2.5 Mb PDF, $22.47
www.manning.com/husted


06 Nov 2002 - Struts News Roundup

The Struts team is proud to welcome 4 new Committers this month, David Karr, Eddie Bush, David Graham, and James Mitchell

Everyone is working steadily toward the release of Struts 1.1 beta 3. To help keep everyone on track, the team added a Development Roadmap.

There are a number of "nice to haves" that won't make Struts 1.1 which are now slated for Struts 1.2. Farther down the road, Struts 2.0 will rely upon the new standards, like JavaServer Faces and JSTL.

The platform for Struts 1.1 will remain Servlet 2.2 and JSP 1.1. However, a Struts JSTL taglib is available in the nightly build contrib directory and will be released with Struts 1.1 as a separate download.

Solid Struts support for the other new standard, Struts JavaServer Faces, is under development, but cannot be released quite yet.

Meanwhile, the Struts User list will continue to enjoy its "casual Friday" policy. Off-topic messages are tolerated on Fridays so long as the message is prefixed with the token [FRIDAY]. Posting [FRIDAY] articles on any other weekday is strongly discouraged.


2002 Nov 05 - Struts Article on theServerSide.com

An article on Struts has been published on www.theServerSide.com. This article titled 'Fast Track to Struts: What it Does and How' is primarily written to assist new users get quickly familiar with Struts. It is complementary to the information already available at http://jakarta.apache.org/struts/userGuide/index.html. I am hoping that this article will complement the efforts of the people already evangelizing Struts adoption.

The introduction to the article is reproduced below.

Introduction
------------
The objective of this article is to introduce prospective Struts users to the key benefits of using Struts, and at the same time illustrate its configuration and usage semantics. We will define the requirements of a robust presentation framework and simultaneously discuss how these requirements are implemented in the Struts framework. We will also explore the design patterns implemented by Struts, the semantics of the controller, and the semantics of the associated helper components; this knowledge will be useful when designing components that will interact with the framework, and when there is a need for extending the framework for accommodating special needs of a project. This article complements the information available at http://jakarta.apache.org/struts.

For more visit
http://www2.theserverside.com/home/thread.jsp?thread_id=16336


2002 Nov 05 - Struts Workflow Extension Package 0.9.2

The Bugfix-Version 0.9.2 of the Struts Workflow Extension Package is now available. The release received the following changes:

  • fix for a bug that caused an exception in GenericAction in very special configuration situations
  • bugfix in the test application's web.xml file, some containers stumbled over

For more information about this package visit http://www.livinglogic.de/Struts/.


2002 Nov 01 - New Struts Article posted on OnJava

Sorry for the self promotion, but I thought this article might help some on this list. I wrote a Struts "lessons learned" article for O'Reilly that contains information that is discussed here on the list frequently, but never hurts to be explained in more detail.

Here's the link to the article:
http://www.onjava.com/pub/a/onjava/2002/10/30/jakarta.html

Enjoy,


2002 Oct 30 - Struts Console version 3.0 is now available

http://www.jamesholmes.com/struts/

Download Now:
http://www.jamesholmes.com/struts/struts-console-3.0.zip
-- OR --
http://www.jamesholmes.com/struts/struts-console-3.0.tar.gz

Struts Console is FREE software.

Eclipse plugin support and Validator config file support is finally here. This release also makes working with DynaActionForms more convenient.

Changes with Struts Console v3.0

  • Fixed bug where Forwards' "Configuration Class" attribute was incorrect.
  • Added support for Validator config files.
  • Added plugin support for Eclipse.
  • Added support for "className" attribute of <data-source> elements.
  • Added support for "className" attribute of <exception> elements.
  • Added support for "className" attribute of <form-bean> elements.
  • Added support for "className" attribute of <form-property> elements.
  • Added support for adding <set-property> elements to <form-property> elements.
  • Added drop down list of values for "Type" field of Form Properties for FormBeans.
  • Added drop down list of values for FormBean's "Type" field.

2002 Oct 16 - Architectural framework Brings Next Level of Best Practices, Interoperability, Re-use and Configurability to J2EE Web Development With Release 5.0.

Jcorporate Ltd. today announces the release of Expresso 5.0, the most popular architectural framework for Java web development.

The Expresso 5.0 release is a major new release with more than 50 new features, breaks new ground in software with new workflow engine and raises the bar by providing 100% higher release stability than the previous version.

The Release 5.0 release has brewed more than 50 new features, as well as many feature updates, performance improvements, bug fixes and updated documentation. Here are some highlights:

1. Additional Struts Integration including Tiles integration, ActionForms, Radio Input types, Combobox tag, and an Expresso-aware html:link tag that will work with Transitions.
2. Container-based authentication integration.
3. Authentication and Registration: refactored with many improvements including email address validation, login redirecting to original destination.
4. SSL Integration Capabilities: now can transition into and out of SSL web pages and still maintain session state.
5. DBObjects: Has many new improvements including a new class of DBObjects that can have Row level permissions.
6. Basic Workflow Capabilities
7. BLOB/CLOB datatypes Support
8. JNDI Compatible Data Connections: Expresso can now retrieve connections to databases through JNDI lookups. This is critical for JTA compatibility as well as some drivers for, for example, DB-2 databases.
9. i18n Improvements: Error Collections can have keys to Message Bundles with this tag. Polish and Chinese language support added.
10. Clean & universal URLs: allows for clean URLS without lots of URL parameters
11. Performance improvements to overall web application performance.
12. Security Enhancements have been made.
13. Expresso Developer's Guide has been substantially updated.
14. and much more.

Expresso is available free of charge for download at http://www.jcorporate.com/product/expresso.html.


2002 Oct 9 - StrutsCX: Struts with Castor XML and XSLT

StrutsCX is a small Struts add-on framework that combines Struts with Castor XML and XSLT.

Features:

  • Lightweight framework running on any Servlet Engine or J2EE Application Server.Simple and fast to implement.
  • Support of internationalization. IS0-8859-1 and any other language, like Chinese, Korean, Arabic, too!
  • StrutsCXServlet: Replaces Struts JSP and MessageResources features with a pure XML and XSLT solution 100% internationalizable.
  • Output of 100% standard conform XML, XHTML, XSL-FO, WML or whatever you like.
  • Simple validation error mechanism.
  • Prototype persists via Castor XML.
  • Prototype featuring the CRUD cycle (Create, Retrieve, Update, Delete) and support for English, German and Korean language.

StrutsCX takes further the idea of the Model 2X by Julien Mercay and Gilbert Bouzeid. Check out the StrutsCX website:

http://it.cappuccinonet.com/strutscx


02 Oct 2002 - Struts-EL contrib library (Struts & JSTL)

The Struts-EL contrib library is now available in the nightly build, as of build 20021002.

The Struts-EL tag library is an extension of the Struts tag library (at least the "bean", "html", and "logic" portions). Each JSP custom tag in this library is a subclass of an associated tag in the Struts tag library. The basic difference is that this tag library does not use "rtexprvalues", it uses the expression evaluation engine in the JSP Standard Tag Library (version 1.0) to evaluate attribute values.

All of the tags in this library are "ported" from the Struts tag library, with the same attributes (except for one each added to "logic:match" and "logic:notMatch") and functionality. However, some of the Struts tags were not ported to this library. This is the case for several tags whose functionality is completely covered by the JSTL tag library ("bean:write", for instance, being covered by "c:out" in the JSTL).

In order to fully understand the correct utilization of this library, you must understand the use and operation of the Struts tag library, and the use and operation of the JavaServer Pages Standard Tag Library (hereafter called the "JSTL"), along with the expression language (sometimes called the "EL") used for evaluating attribute values. At this point in time, there is only very little documentation for the Struts-EL library. There is a "README.txt" file at the root of the distribution which provides some basic information. At some future time, the documentation for Struts-EL may be generated just like the Struts documentation. However, as this library is really just a pure combination of the Struts tag library with the JSTL EL engine, there isn't a great deal more additional information that would be useful.

Note that the use of JSTL 1.0 requires the use of a JSP 1.2-compliant web container. As a result, Struts-EL also requires a JSP 1.2-compliant web container.

The Struts-EL distribution is provided as part of the Struts distribution, as a "contrib" library. Just like the normal Struts distribution, there is a "strutsel-exercise-taglib" web application, which is a simple application used for demonstrating many of the tags and their features. This version of the application covers a few more tags than the example in the base library, and also provides a "Source" feature, to view the source online.

If you want a quick example of what you can do with Struts-EL, imagine what you normally have to do if you're using LabelValueBean in your Action code to populate a symbolic value and a message resource key, and displaying that resulting string in your JSP page.

You would normally have a pair of lines like this in your JSP page (hopefully I've got my syntax correct, as I'm entering this cold):

<bean:define id="foo" name="labelValueBean" property="label"/> <bean:message key='<%= foo.toString() %>'/>

Using Struts-EL, it would look like this:

<bean-el:message key="${labelValueBean.label}"/>


2002 Sep 10 - ApplicationResources.properties from Database

For anyone interested, I have finished implementing DBMessageResources which allows you to keep the key-value pairs (from your ApplicationResources.properties) in a single database table.

You can load your property files into a table (generic schema is provided) and with this extension, by only modifying <message-resources> in the struts-config.xml your application will run WITHOUT ANY code changes. (See the readme.txt file included)

This extension uses OJB (http://jakarta.apache.org/ojb) O/R mapping for database configuration and connection pool management.

I have included a modified version of the (1.1b2) struts-example to demonstrate.

I have tested this with Struts 1.1b2, and I'm sure it will work with 1.1b1 (If anyone requires a 1.0.x compatible, I can look at that also)

I will get this project available as soon as I work through some cvs issues on sf.net:

If anyone is REALLY itching to get their hands on it sooner, send me a email.

For those who were waiting, thanks for your patience.


2002 Sep 08 - French book

A new book about UML named "Mod?liser un site e-commerce en UML" from Pascal Roques will be available mid September.
Summary: http://www.dotnetguru.org/downloads/tabledesmatieres.pdf

Implementation code is provided with Struts, .Net and PHP


Struts Q&A Distilled, Vol#2

"Struts Q&A Distilled" is a catalogue of question-and-answers distilled from Struts mailing lists and other sources. The catalogue is organized in topics. New entries are added to the catalogue periodically in batches.

Volume #2:
http://www.scioworks.net/servlets/ShowPage?pid=34&dp=3

Covers:

Q1: It is recommended properties of the FormBeans should be String properties. In that case, where do I do the type conversions?

Q2: How much does Struts depend on the session object and when is the object created?

Q3: I have problem with using ActionErrors and <html:errors>. I don't see my messages. Why?

Q4: My error messages generated by <html:errors> contain "null" at the start and the end. What have I done wrong?

Q5: How do I prevent my form from being validated when it is displayed the first time, if the JSP is fronted by an Action?

Q6: Struts 1.1 seems to support multiple resource bundles. How to use it?

Q7: After I replace my <input type="submit"...> to <html:submit...>, my Javascript document.forms[0].submit() does not work anymore and returns me "Object doesn't support this property or method". Why?

Q8: How do I configure Struts to intercept requests and perform some logic before passing them to the controller servlet for processing?

Q9: How do I send binary data to the controller servlet? (e.g. a Swing-based client sends serialized object to the controller servlet.)

Q10: I want to associate data with <html:check> and return the selected value as a String property in the FormBean. But I got exception coming from RequestUtils.populate(). Why?


2002 Sep 05 - Struts 1.1: Should I Upgrade?

Built on the success of Struts 1.0, Struts 1.1 beta was released in March this year and showcased at JavaOne 2002. This article describes the new features found in Apache Struts 1.1 beta and the impact of migration from Struts 1.0 to Struts 1.1. It also offers advice on the migration decision and the upgrade process.

Read the article by John Yu http://lists.theserverside.com/t/12337/870556/204/181/ at the ServerSide.


Map -> JavaBean API, arbitrary property names! dynclass.sourceforge.net

http://dynclass.sourceforge.net/ - a Class-creation API with very simple but powerful Map-to-JavaBeans translation.

I have recently added support for arbitrary property names (i.e. names that contain spaces, operator chars, you name it). So for example:


Map myMap = ...;
myMap.put("email address", emailAddr);
Object myBean = BeanCreator.createBeanFromMap(myMap);

//...
<bean:write name='myBean' property='email address'/>

Much better than lots of Bean inner-classes!

I know a lot of Struts developers are using DynaBean et al and it seems to be working fine for them. If you need your beans to work within non-DynaBean-aware frameworks this API would be a big help to you.


2002 Sep 02 - JDeveloper9i 9.0.3 w/ Struts, J2EE 1.3, et. al.

A quick announcement for any Struts users who might be using (or might want to evaluate) Oracle's JDeveloper Java IDE.

We've just published a Developer's Preview of our new 9.0.3 major release on our Oracle Technet website:

http://otn.oracle.com/products/jdev/content.html

List of new features in this release is at:

http://otn.oracle.com/products/jdev/htdocs/jdev903Preview_fo.html

Of particular interest to Struts developers are the following new features:

  • Easily work with struts-config.xml settings
  • Quickly create new actions and action forms
  • Run/debug Struts apps in the embedded J2EE 1.3-compliant container for fast, no-deploy code/test/debug turnaround time
  • Easily use Oracle's J2EE framework, Business Components for Java (BC4J), as the Model layer for your Struts application
  • Auto-generate a fully-working Struts/JSP/BC4J database application using the new "Complete Struts-Based JSP App" wizard

Plus many other features of general interest to anyone doing Java/J2EE development. Software is free to download and use, and $995 for a full commercial license (which includes free use of the BC4J J2EE Framework).

For a quick overview of how the BC4J framework implements all of the J2EE design patterns you normally have to write by hand, see:

http://otn.oracle.com/products/jdev/htdocs/j2ee_bc4j.html

and an overview of how the framework implements collections of Value Objects for you easily, see:

http://otn.oracle.com/products/jdev/howtos/bc4j/bc4j-collections.html

Have fun.


MORE NEWS


Copyright (c) 2000-2003, Apache Software Foundation