husted 2003/12/11 09:54:31 Modified: doc/userGuide release-notes.xml Log: Through September. Revision Changes Path 1.40 +189 -57 jakarta-struts/doc/userGuide/release-notes.xml Index: release-notes.xml =================================================================== RCS file: /home/cvs/jakarta-struts/doc/userGuide/release-notes.xml,v retrieving revision 1.39 retrieving revision 1.40 diff -u -r1.39 -r1.40 --- release-notes.xml 11 Dec 2003 12:26:09 -0000 1.39 +++ release-notes.xml 11 Dec 2003 17:54:31 -0000 1.40 @@ -17,57 +17,67 @@ <p>The binary distribution of this release includes the following files relevant to Struts:</p> <ul> <li> - <code>INSTALL.txt</code>- Brief installation instructions. For more detail, see the + <code>INSTALL.txt</code> - Brief installation instructions. For more detail, see the <code>Struts User Guide</code>, either through the Struts Documentation application or online at <a href="http://jakarta.apache.org/struts/">http://jakarta.apache.org/struts/</a>.</li> <li> - <code>LICENSE.txt</code>- The Apache Software Foundation license that defines the terms under which you can use Struts (and other software licensed by Apache).</li> + <code>LICENSE.txt</code> - The Apache Software Foundation license that defines the terms under which you can use Struts (and other software licensed by Apache).</li> <li> - <code>README.txt</code>- A brief introduction to Struts.</li> + <code>README.txt</code> - A brief introduction to Struts.</li> <li> - <code>contrib/</code>- Additional libraries developed by the Struts team which are not yet part of the core distribution.</li> + <code>contrib/</code> - Additional libraries developed by the Struts team which are not yet part of the core distribution.</li> <li> - <code>lib/</code>- Directory containing files you will need in your own applications. The individual files of interest are: + <code>lib/</code> - Directory containing files you will need in your own applications. The individual files of interest are: <ul> <li> - <code>commons-*-#.#.jar</code>- Release packages from the + <code>antlr-#.#.jar</code> - ANTLR, ANother Tool for Language Recognition, a public domain library made available by + <a href="http://www.antlr.org/">antlr.org</a>.</li> + <li> + <code>commons-*-#.#.jar</code> - Various packages from the <a href="http://jakarta.apache.org/commons/">Jakarta Commons Project</a>that Struts relies on. You are welcome to use these classes in your own applications. These JAR files should be copied into the <code>/WEB-INF/lib</code>directory of your web application.</li> <li> - <code>jakarta-oro-#.#.jar</code>- JAR file containing the Jakarta ORO package, utilitied by the Struts Valdiator. You must place this file in the + <code>jakarta-oro-#.#.jar</code> - JAR file containing the Jakarta ORO package, utilitied by the Struts Valdiator. You must place this file in the <code>/WEB-INF/lib</code>directory of your web application to use the Struts Validator package.</li> <li> - <code>struts-#.#.jar</code>- JAR file that contains the compiled Java classes of Struts. You must place this file in the + <code>struts-#.#.jar</code> - JAR file that contains the compiled Java classes of Struts. You must place this file in the <code>/WEB-INF/lib</code>directory of your web application.</li> <li> <code>struts-*.tld</code>- The tag library descriptor files for the Struts tag libraries (bean, html, logic, and nested). When these taglibs are used, you must place these files in the <code>/WEB-INF</code>directory of your web application and reference them with appropriate <code><taglib></code>directives in your web.xml file.</li> <li> - <code>struts-config_1_2.dtd</code>- The Document Type Definition (DTD) for the Struts 1.2 configuration file (which is typically named + <code>struts-config_1_2.dtd</code> - The Document Type Definition (DTD) for the Struts 1.2 configuration file (which is typically named <code>/WEB-INF/struts-config.xml</code>. Your configuration file will be validated against an internal copy of this DTD -- this copy is available for reference purposes only.</li> <li> - <code>struts-config_1_1.dtd</code>- The Document Type Definition (DTD) for the Struts 1.1 configuration file (which is typically named + <code>struts-config_1_1.dtd</code> - The Document Type Definition (DTD) for the Struts 1.1 configuration file (which is typically named <code>/WEB-INF/struts-config.xml</code>. Your configuration file will be validated against an internal copy of this DTD -- this copy is available for reference purposes only.</li> <li> - <code>struts-config_1_0.dtd</code>- The Document Type Definition (DTD) for the Struts 1.0 configuration file (which is typically named + <code>struts-config_1_0.dtd</code> - The Document Type Definition (DTD) for the Struts 1.0 configuration file (which is typically named <code>/WEB-INF/struts-config.xml</code>. Your configuration file will be validated against an internal copy of this DTD -- this copy is available for reference purposes only.</li> <li> - <code>web-app_2_2.dtd</code>- The Document Type Definition (DTD) for web.xml files conforming to the Servlet 2.2 specification. This copy is for reference purposes only.</li> + <code>web-app_2_2.dtd</code> - The Document Type Definition (DTD) for web.xml files conforming to the Servlet 2.2 specification. This copy is for reference purposes only.</li> <li> - <code>web-app_2_3.dtd</code>- The Document Type Definition (DTD) for web.xml files conforming to the Servlet 2.3 specification. This copy is for reference purposes only.</li> + <code>web-app_2_3.dtd</code> - The Document Type Definition (DTD) for web.xml files conforming to the Servlet 2.3 specification. This copy is for reference purposes only.</li> </ul></li> <li> - <code>webapps/</code>- Web Application Archive (WAR) files for the web applications that are included with Struts.</li> + <code>webapps/</code> - Web Application Archive (WAR) files for the web applications that are included with Struts.</li> </ul> - <p>The following Jakarta Commons libraries are included with this release of Struts:</p> + <p>The following libraries are included with this release of Struts:</p> <ul> + <li>ANTLR 2.7.2</li> <li>Commons BeanUtils 1.6.1</li> <li>Commons Collections 2.1</li> <li>Commons Digester 1.5</li> <li>Commons FileUpload 1.0</li> <li>Commons Lang 2.0</li> <li>Commons Logging 1.0.3</li> + <li>Jakarta ORO 2.0.7</li> + </ul> + <p>All of the forgoing libraries are a stable release and are distributed under an Apache-style license.</p> + <p>The following libraries are + <strong>not</strong>at stable release stage, and are distributed only as part of Struts own unstable development build.</p> + <ul> <li>Commons Validator 1.1.1-dev</li> </ul> </section> @@ -77,33 +87,92 @@ <a href="../reports/changelog-report.html">changelog reports</a>. Subscribers to the <a href="../using.html#Lists">struts-dev mailing list</a>, receive reports of all changes as they are made.</p> <p> - <strong>Deprecations</strong>- Many constructs were deprecated for the Struts 1.1 release, most of which have now been removed. Before moving to this release, you should clean-compile your application with deprecation warnings enabled. Alternatives should be available for all decprecated constructs. - <strong>You are strongly advised</strong> to resolve all Struts 1.1. deprecations before moving to this release. Removed constructs most likely to affect developers are:</p> + <strong>Deprecations</strong> - Many constructs were deprecated for the Struts 1.1 release, most of which have now been removed. Before moving to this release, you should clean-compile your application with deprecation warnings enabled. Alternatives should be available for all decprecated constructs. + <strong>You are strongly advised</strong>to resolve all Struts 1.1. deprecations before moving to this release. Removed constructs most likely to affect developers are:</p> <ul> - <li>Using the statics from the - <code>org.apache.struts.Action</code>class. Use + <li> + <code>org.apache.struts.Action</code>statics: Use <code>org.apache.struts.Global</code>statics instead.</li> - <li>Calling - <code>Action.perform</code>. Use - <code>Action.execute</code> instead.</li> + <li> + <code>Action.perform</code>: Use + <code>Action.execute</code>instead.</li> </ul> + <p>Although not removed, in many cases + <strong>you should replace</strong>the deprecated + <code>ActionErrors</code>with the preferred + <code>ActionMessages</code>to ensure correct operation.</p> + <p> + <strong>ValidWhen?</strong>- The Struts Validator now supports a ValidWhen rule, so that one validation can be dependant on another.</p> + <p> + <strong>TagUtils and ModuleUtils</strong> - Many utility methods previously found in + <code>org.apache.struts.utils.RequestUtils</code>have been moved to + <code>org.apache.struts.taglibs.TagUtils</code>or 0 + <code>org.apache.struts.utils.ModuleUtils</code>.</p> + <p> + <strong>DigestingPlugIn</strong> - [:TODO:]</p> + <p> + <strong>Maven project files</strong> - While still under development, significant progress has been made toward putting the Struts build process under + <a href="http://maven.apache.org">Maven</a>. The core JAR and TLDs can be built using Maven, leveraging the shared Maven repository for our many dependencies. You can find the current maven.xml and project.xml in the root directory of the Struts source distribution. However, at this time, the original Ant build files are still the official mechanism for building Struts.</p> + <p> + <strong>New Configuration DTD</strong> - The + <code> + <a href="http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">struts-config_1_2.dtd</a> + </code>is preferred to the deprecated Struts Configuration 1.1 DTD. The new DTD adds two new elements <display-name> and <description> to the struts-config element. These elements are for use by struts config file tools and document generation. In the Struts 1.2.x series, existing Struts configuration files can be loaded using either DTD version.</p> + <p> + <strong>New Committers</strong> - We are pleased to welcome Steve Raeburn, Don Brown, and Joe Germuska to the team of Struts Committers.</p> + <p> + <strong>GenericDataSource / GenericConnection implementations removed</strong> - The datasources manager is still supported, but our own datasource + <em>implementation</em>is not. You are welcome to plug in your own DataSource implementation, but we do not have the resources to maintain one of our own. If your container does not supply a DataSource implementation, the DBCP package from the Jakarta Commons is suggested.</p> + <p> + <strong>Struts-Chain</strong> - Still experimental, this new "contrib" package utilizes the new Chain of Responsibilty package in the Jakarta Sandbox to create a new breed of RequestProcessor. Look for this to become the default implementation in a future release.</p> + <p> + <strong>MappingDispatchAction</strong> - A new standard Action that dispatches to a method named by the ActionMapping parameter.</p> + <p> + <strong>Cancel handlers</strong> - DispatchAction, LookupDispatchAction, and MappingDispatchAction - Now provide default cancel handler that can be overridden. It also also possible to specify the default handler name.</p> + <p> + <strong>Session-scoped ActionMessages</strong>- You can now save ActionMessages in the session and have them cleaned up after the first use. There is now an alternate form of Action.saveMessages() that stores messages in the session. ActionMessages.isAccessed() returns true after the messages have been retrieved one time. RequestProcessor.processCachedMessages() queries isAccessed() to determine if it should remove the messages from the session.</p> + <p> + <strong>JA Mailreader</strong>- The Struts Mailreader Example application now includes a Japanese resource file.</p> + <p> + <strong>Tiles EL</strong>- The Tiles tags are now avaiable through the Struts EL taglib, which is based on JSTL.</p> + <p> + <strong>Versatile required</strong> - The Struts Validator's "required" validation can now handle checkboxes, radio,select-one, and select-multiple field types. See the updated Validator example application to see these new features in action.</p> <p> - <strong>TagUtils</strong>- Many utility methods previously found in - <code>org.apache.struts.utils.RequestUtils</code> have been moved to - <code>org.apache.struts.taglibs.TagUtils</code>. We are working toward creating a general "presentation utility" class that technologies like Custom Tags can use to access the framework API. If you have custom tags that called RequestUtil methods, they may need to call TagUtils instead.</p> + <strong>Wildcard Mappings</strong> - You can now use wildcards in your action-mappings. For details see + <a href="building_controller.html#action_mapping_wildcards">Using Wildcards in ActionMappings</a>.</p> + <p>Unstoppable Validations: You can now force the clientside Javascript validation to check all constraints, instead of stopping at the first error. By setting a new property, stopOnFirstError, on the Validator PlugIn to false. Thisis set thorugh the struts-config.xml as follow: + <pre> +<code> +<![CDATA[ + <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> + <set-property property="pathnames" + value="/WEB-INF/validation.xml,/WEB-INF/validator-rules.xml"/> + <set-property property="stopOnFirstError" value="true"/> + </plug-in> + ]]> + +</code> +</pre></p> + <p>validator-rules.xml[intRange]: IntRange now checks select-one and radio fields. Example: This allows populating combo boxes with valid choices plus one additional choice with a caption something like "Choose one" and a value 0f "-1". Then when the user attempts to submit the form, you can look for the value of "-1" and yell at them if they failed to pick something.</p> </section> <section name="What Changed?" href="Changes"> <p>This section highlights some of the changes that have taken place since the last release. For a complete review of all changes, see the <a href="../reports/changelog-report.html">changelog reports</a>. Subscribers to the <a href="../using.html#Lists">struts-dev mailing list</a>, receive reports of all changes as they are made.</p> <p> + <strong>Build Changes</strong> + </p> + <ul> + <li>2003-08-09 - build.xml: Adjust loading order of properties files to go from most local (current directory) to most global (${user.home}/build.properties).</li> + <li>2003-08-08 maven.xml,project.xml - Maven build files.</li> + </ul> + <p> <strong>Configuration Changes</strong> [ <code>/conf/shared</code>]</p> <ul> - <li> - <code> - <a href="http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">struts-config_1_2.dtd</a> - </code>is preferred to the deprecated Struts Configuration 1.1 DTD. The new DTD adds two new elements <display-name> and <description> to the struts-config element. These elements are for use by struts config file tools and document generation. In the Struts 1.2.x series, existing Struts configuration files can be loaded using either DTD version.</li> + <li>2003-08-09 - Add two new elements <description-short%gt; and <description-long> for use by struts config file tools and document generation.</li> + </ul> + <ul> <li>2003-07-04 struts-config_1_2.dtd: Added 1.2 struts-config.dtd. This is a copy of the 1.1 DTD except that the <data-source> "type" attribute is now required because Struts does not supply a default DataSource implementation.</li> </ul> <p> @@ -117,6 +186,18 @@ <strong>Action Package Changes</strong> [ <code>org.apache.struts.action</code>]</p> <ul> + <li>2003-09-29 - RequestProcessor,ActionMappingMatcher,WildcardHelper: Added optional wildcard support for action mappings.</li> + <li>2003-09-11 - Action,ActionMessages,RequestProcessor: Added ability to save ActionMessages in the session and have them cleaned up after the first use.</li> + </ul> + <ul> + <li>2003-08-23 - Action: Deprecate saveErrors(HttpServletRequest, ActionErrors) in favor of saveErrors(HttpServletRequest, ActionMessages).</li> + <li>2003-08-23 - RequestProcessor - Replaced ActionErrors reference with ActionMessages.</li> + <li>2003-08-23 - Deprecated ActionErrors.GLOBAL_ERROR in favor of ActionMessages.GLOBAL_MESSAGE.</li> + <li>2003-08-16 - ExceptionHandler: Added storeException() method that takes an ActionMessage instead of ActionError.</li> + <li>2003-08-13 - ActionError: Deprecate ActionError in favor of ActionMessage</li> + <li>2003-08-08 - ActionServlet,ActionFormBeans,ActionForwards,ActionMappings.java v 1.13 : Removed references to ActionMappings, ActionFormBeans, and ActionForwards.</li> + </ul> + <ul> <li>2003-07-26 - Action: getLocale() now calls RequestUtils.getUserLocale() to prevent session creation.</li> <li>2003-07-04 - Action,ActionException: Removed deprecated getResources() method.</li> <li>2003-07-04 - Action: Removed deprecated perform() methods.</li> @@ -133,15 +214,20 @@ <strong>Actions Package Changes</strong> [ <code>org.apache.struts.actions</code>]</p> <ul> + <li>2003-08-13 - DispatchAction,LookupDispatchAction: Add 'default' and a 'cancel' handlers to DispatchAction and LookupDispatchAction.</li> + <li>2003-08-12 - MappingDispatchAction: Addition of MappingDispatchAction that dispatches to a method named by the ActionMapping parameter.</li> + </ul> + <ul> <li>2003-07-11 - DispatchAction,ForwardAction,IncludeAction,SwitchAction: Throw exceptions from execute() method instead of sending a failure response to the client. This allows the exception handling mechanism to respond to the error gracefully.</li> <li>2003-07-03 - LookupDispatchAction: Fixed synchronization problem (PR# 21224). Also refactored some code into a new initLookupMap() method.</li> - <li>The DispatchAction now provides default cancel handler that can be overridden. It also also possible to specify the default handler name.</li> - <li>The LookupDispatchAction now provides default cancel handler that can be overridden. It also also possible to specify the default handler name.</li> </ul> <p> <strong>Config Package</strong> [ <code>org.apache.struts.config</code>]</p> <ul> + <li>2003-08-08 ConfigHelper,ConfigHelperInterface: Removed references to ActionMappings, ActionFormBeans, and ActionForwards.</li> + </ul> + <ul> <li>2003-07-27 - ConfigHelper: Deprecate methods() since they return objects that have been deprecated. The ModuleConfig object should be used to lookup these items.</li> <li>2003-07-16 - ModuleConfigFactory: Catch only relevant exceptions instead of Throwable and made LOG final.</li> <li>2003-07-04 - struts-config_1_2.dtd, ControllerConfig.java: Removed deprecated debug controller attribute.</li> @@ -152,30 +238,58 @@ <strong>Contrib Packages</strong> [ <code>/contrib</code>]</p> <ul> - <li>2003-07-26 - Updated Struts-EL tags to match recent attribute changes to tags in base library.</li> + <li>2003-09-07 - strutsel.taglib.tiles: Addition of "tiles-el" library</li> + </ul> + <ul> + <li>2003-08-11 - struts-chain: Initial check-in of an experimental library that decomposes the Struts 1.1 request procoessor, using the newly checked in Commons Sandbox project called "chain" supporting the Chain of Responsibility pattern.</li> + <li>2003-08-10 - strutsel: Added action attribute added in base class</li> + <li>2003-08-10 - strutsel: Removed deprecated FormTag attributes: name, scope, type.</li> + <li>2003-08-10 - struts-legacy: Removed package (GenericDataSource and GenericConnection).</li> + </ul> + <ul> + <li>2003-07-26 - strutsel: Updated tags to match recent attribute changes to tags in base library.</li> </ul> <p> <strong>Plugins Package</strong> [ - <code>org.apache.struts.plugins</code>]</p> + <code>org.apache.struts.plugins</code>] + </p> <ul> - <li>No signficant changes.</li> + <li>2003-08-07 DigestingPlugIn.java: Added DigestingPlugIn.</li> </ul> <p> <strong>Taglib Package Changes</strong> [ <code>org.apache.struts.taglib</code>]</p> <ul> + <li>2003-09-09 - TagUtils: Log error message when keys or bundles are missing.</li> + </ul> + <ul> + <li>2003-08-23 - TagUtils: Deprecated getActionErrors() in favor of getActionMessages().</li> + <li>2003-08-16 - TagUtils: Replaced ActionError with ActionMessage.</li> + </ul> + <ul> + <li>2003-08-02 LocalStrings.properties,TagUtils: Move message resources from util package.</li> + </ul> + <ul> <li>2003-07-26 - TagUtils,RequestUtils: Added TagUtils class for taglibs to use instead of RequestUtils. We should migrate any method in RequestUtils that takes a PageContext parameter and/or throws JspException. A clean separation will help keep RequestUtils smaller and allow the taglibs to be easily split off of the core Struts distribution.</li> </ul> <p> <strong>Bean Taglib Package Changes</strong> [ <code>org.apache.struts.taglib.bean</code>]</p> <ul> - <li>2003-07-13 MessageTag: Simplified args[] creation, deprecated unused defaultLocale variable.</li> + <li>2003-08-28 IncludeTag: Rename setCookie to addCookie since it isn't a bean setter</li> + </ul> + <ul> + <li>2003-07-13 - MessageTag: Simplified args[] creation, deprecated unused defaultLocale variable.</li> </ul> <p> <strong>HTML Taglib Package Changes</strong> [ <code>org.apache.struts.taglib.html</code>]:</p> <ul> + <li>2003-08-19 - Remove "request scope" references from messages tag. The messages are searched for in all scopes.</li> + <li>2003-08-10 - struts-html.xml,RewriteTag.java: Added action attribute to rewrite tag.</li> + <li>2003-08-10 - Removed deprecated FormTag attributes: name, scope, type.</li> + </ul> + <ul> <li>2003-07-08 - struts-html.xml,FormTag,JavascriptValidatorTag: Added scriptLanguage property to the form and javascript tags for PR# 17234. This property is ignored in XHTML mode but allows developers to turn off the "language" attribute of <script> tags in HTML.</li> <li>2003-07-03 - FormTag: Added disabled check to focus JavaScript</li> <li>2003-07-02 - HtmlTag: Removed deprecated method.</li> @@ -192,12 +306,18 @@ <strong>Nested Taglib Package Changes</strong> [ <code>org.apache.struts.taglib.nested</code>]:</p> <ul> + <li>2003-08-10 - Removed deprecated FormTag attributes: name, scope, type.</li> + </ul> + <ul> <li>2003-07-03 - struts-nested.xml: Added styleId to nested:hidden</li> </ul> <p> <strong>Tiles Taglib Package Changes</strong> [ <code>org.apache.struts.taglib.tiles</code>]:</p> <ul> + <li>2003-09-07 - ImportAttributeTag,UseAttributeTag: Removing "final" from class declaration, to allow class to be extended in "tiles-el" (or other classes).</li> + </ul> + <ul> <li>2003-07-27 - xmlDefinition/XmlParser: Remove deprecated/non functional digester logging method.</li> <li>2003-07-10 - TagUtils: Deprecated getProperty() because it provided no value over calling PropertyUtils.getProperty() directly.</li> <li>2003-07-08 - TilesServlet,ActionComponentServlet: Formatted code, removed deprecated constant.</li> @@ -207,6 +327,12 @@ <strong>Tiles Package Changes</strong> [ <code>org.apache.struts.tiles</code>]:</p> <ul> + <li>2003-09-13 - Controller: Added execute() method to Tiles Controller interface.</li> + </ul> + <ul> + <li>2003-08-16 portal.UserMenuAction: Replaced hardcoded debugging with commons logging.</li> + </ul> + <ul> <li>2003-07-31 - xmlDefinition/I18nFactorySet: Replace deprecated constant reference with it's base interface equal.</li> <li>2003-07-31 - actions/DefinitionDispatcherAction: Replace deprecated method with current one. Still one method DefinitionUtil.setActionDefinition that doesn't have a replacement. It's a simple method but I don't know where a good place to move it would be.</li> <li>2003-07-31 - actions/ReloadDefinitionsAction: Use TilesUtil.createDefinitionsFactory(request,context) instead of deprecated method().</li> @@ -232,6 +358,14 @@ <strong>Utility Package Changes</strong> [ <code>org.apache.struts.util</code>]:</p> <ul> + <li>2003-09-22 LabelValueBean: Implement Comparable interface.</li> + </ul> + <ul> + <li>2003-08-16 - ModuleException: Added getActionMessage() to replace the getError() method.</li> + <li>2003-08-02 - LocalStrings.properties: Move message resources to taglib TagUtil package.</li> + <li>2003-08-02 - ModuleUtils.java,RequestUtils.java: Moved module related methods to new ModuleUtils class.</li> + </ul> + <ul> <li>2003-07-26 - TagUtils,RequestUtils: Added TagUtils class for taglibs to use instead of RequestUtils. We should migrate any method in RequestUtils that takes a PageContext parameter and/or throws JspException. A clean separation will help keep RequestUtils smaller and allow the taglibs to be easily split off of the core Struts distribution.</li> <li>2003-07-25 - RequestUtils: Backwards compatibility fix. Changed ModuleConfig lookups to use getModuleConfig so that default module config is returned if one is not already present in the request</li> <li>2003-07-16 - RequestUtils: Make retrieveMessageResources() module-aware by adding the module prefix to the bundle name when retrieving from application context.</li> @@ -244,7 +378,12 @@ <strong>Validator Package Changes</strong> [ <code>org.apache.struts.validator</code>]</p> <ul> - <li>2003-07-30 validator-rules.xml: Remove deprecated range() method.</li> + <li>2003-09-26 FieldChecks,ValidWhen: Changed validator signatures to use ActionMessages rather than ActionErrors, was breaking validations.</li> + <li>2003-09-26 - validator-rules.xml: Modify JavaScript to honor datePattern option.</li> + <li>2003-09-24 - validator-rules.xml: Add ability of required to handle checkboxes, radio,select-one, and select-multiple field types.</li> + </ul> + <ul> + <li>2003-07-30 - validator-rules.xml: Remove deprecated range() method. Use intRange() instead.</li> <li>2003-07-30 - validator-rules.xml: Allow intRange validation of select-one and radio fields. In some form combo boxes you might have the combo boxes populated with valid choices plus one additional choice with a caption something like "Choose one" and a value 0f "-1". Then when the user attempts to submit the form, you can look for the value of "-1" and yell at them if they failed to pick something.</li> <li>2003-07-28 - JavascriptValidatorTag.java,ValidatorPlugIn.java: Enhancement to allow checking of all constraints instead of aborting. The default is same as struts 1.1.</li> <li>2003-07-26 - Resources: Deprecated Resources.getLocale() because it created sessions. Use RequestUtils.getUserLocale() instead.</li> @@ -252,26 +391,6 @@ <li>2003-07-02 - Resources: Remove deprecated methods</li> <li>2003-07-02 - Validator,ValdiatorUtils: Changed processRoles() to send a 403 Forbidden response if the role check fails. Also removed deprecated methods.</li> <li>2003-07-01 - Add validwhen validation to package.</li> - <li>initModuleConfigFactory()</li> - <li>methods created for backward-compatiblity only</li> - <li>isStopOnFirstError</li> - <li>setStopOnFirstError</li> - <li>validator-rules.xml, range() is deprecated - use intRange() instead.</li> - </ul> - <ul> - <li>The ValidatorPlugin: It is now possible to force the client side Javascript validation to check all constraints, instead of stopping at the first error. By setting a new property, stopOnFirstError, on the validator plug in tag to false. This is in the struts-config.xml as follow: - <pre> -<code> - <![CDATA[ -<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> -<set-property property="pathnames" - value="/WEB-INF/validation.xml,/WEB-INF/validator-rules.xml"/> -<set-property property="stopOnFirstError" value="true"/> -</plug-in> -]]> -</code> -</pre></li> - <li>validator-rules.xml[intRange]: IntRange now checks select-one and radio fields. Example: This allows populating combo boxes with valid choices plus one additional choice with a caption something like "Choose one" and a value 0f "-1". Then when the user attempts to submit the form, you can look for the value of "-1" and yell at them if they failed to pick something.</li> </ul> <p> <strong>Documentation Application Changes</strong> [ @@ -283,13 +402,26 @@ <strong>MailReader Example Application Changes</strong> [ <code>struts-example.war</code>]:</p> <ul> - <li>No signficant changes.</li> + <li>2003-08-30 - AlternateApplicationResources_ja.properties,ApplicationResources_ja.properties: Provide Japanese resources.</li> + <li>2003-08-16 - Changed ActionError to ActionMessage.</li> </ul> <p> <strong>Exercise Taglib Example Application Changes</strong> [ <code>struts-taglib-exercise.war</code>]:</p> <ul> <li>2003-07-23 - html-messages.jsp: Updated to reference Globals constants.</li> + </ul> + <p> + <strong>Upload Example Application Changes</strong> [ + <code>struts-upload.war</code>]:</p> + <ul> + <li>2003-08-16 - Changed ActionError to ActionMessage.</li> + </ul> + <p> + <strong>Validator Example Application Changes</strong> [ + <code>struts-upload.war</code>]:</p> + <ul> + <li>2003-09-24 - Modify Validator example to show use of 'required' for checkboxes, radio,select-one, and select-multiple field types.</li> </ul> </section> <section>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]