Struts tools - release notes


1.0 Supported software and specifications
2.0 Known problems
   2.1 Icon attributes lead to exceptions in the console
   2.2 Web Diagram Editor fails realization for Faces servlet url patterns
   2.3 Struts configuration file must be explicitly defined
   2.4 Struts links require project to be added as an EAR module
   2.5 Diagrams created using Beta level code
   2.6 Struts Action and ActionForm classes incorrectly generated

1.0 Supported software and specifications

Struts web tooling does not support the Struts-EL tag library for the version 6.0 release.

Version 2.4 of the Servlet specification requires that resource paths have a leading /. Version 2.3 did not require the leading /. Therefore, a Struts application (or any other Web application) that ran on a version 2.3 container (for example WebSphere Application Server (WAS) V5) will have problems running on a version 2.4 container (for example WAS V6) if it tries to look up a resource using a path that does not have a leading /.

If this happens you will receive the following exception:
MalformedURLException: SRVE0238E: Resource paths should have a leading slash.
Struts tools is not causing the problem; however, the problem is caused by the Struts configuration elements that reference resources using paths that do not have a leading /.

For example, Struts configuration files are specified in the deployment descriptor (/WEB-INF/web.xml) as init-param elements of the Struts ActionServlet that have param-names beginning with config. The param-value of each of these is a path to Struts configuration file. Ensure that each of these param-values has a leading /. And ensure that any context-relative paths specified in your Struts configuration files themselves have a leading /.

2.0 Known problems

2.1 Icon attributes lead to exceptions in the console

When editing the struts configuration file, adding icon attributes to either the Formbeans or the GlobalForward entries result in Null Pointer Exceptions being thrown into the log file. These problems will persist until the icon entries are removed from the configuration file and the product workbench is restarted.

2.2 Web Diagram Editor fails realization for Faces servlet url patterns

When using the Web diagram editor, artifacts will not realize dependencies on the Faces servlet URL pattern.

2.3 Struts configuration file must be explicitly defined

The Struts tooling requires that the deployment descriptor specify at least one configuration file. This is in contrast to the runtime behavior where, if left unspecified by the deployment descriptor, the file "struts-config.xml" will be used, by default, for processing. All Struts projects created from within Rational Developer have a configuration file specified.

2.4 Struts links require project to be added as an EAR module

For a subset of the available links where resolution is provided by Struts tooling and EAR project must have a module containing the Struts Project. Project wizards, by default, create the EAR module project addition.

2.5 Diagrams created using Beta level code

Any diagram created using beta level v6 code on a non-English NLS machine cannot be opened using the v6 product. There is no workaround. The diagram must be recreated.

2.6 Struts Action and ActionForm classes incorrectly generated

Invoking the ActionMapping Wizard (AMW) or the FormBean Mapping Wizard (FBW) in such a way as to be able to choose the module context in which the mapping is to be placed, has the potential to cause incorrect java class generation. The problem is triggered when the user chooses a different struts configuration file from the configuration file drop down, than the one that the wizard defaults.

In order to invoke wizards without a module context:

  1. Click File > New > Other.
  2. Then press CTRL N.

Invoking these wizards via the Web Diagram Editor or by selecting the struts module in the project explorer and using the New > AMW/FBW context menu options will give the wizard a struts module context that can not be changed and the problem will not occur.

Return to the main readme file