2
<document url="release-notes.html">
5
<author>Craig R. McClanahan</author>
6
<author>Robert Leland</author>
7
<author>Ted Husted</author>
8
<author>Martin Cooper</author>
9
<title>Struts Release Notes (Nightly Build)</title>
14
<section name="6.1 Release Notes" href="release_notes"/>
15
<section name="Beta Notes" href="beta">
17
<p>This section contains the release notes for
18
<strong>nightly build</strong> of the Struts Framework,
19
for changes that have taken place since
20
<a href="release-notes-1.1.html">Version 1.1 </a>
21
was released. For a complete list of changes since the last
22
production release, see the <a href="#Introduction">Introduction</a> </p>
26
<section name="Beta Fixes" href="beta.Changes">
29
<strong>ApplicationConfig:</strong> In Struts 1.2 was removed.
35
<section name="Introduction" href="Introduction">
37
<p>The remainder of this document contains the release notes for
38
<strong>nightly build</strong> of the Struts Framework,
39
and covers changes that have taken place since
40
<a href="release-notes-1.1.html">Version 1.1</a>
41
was released. The following sections cover
42
<a href="#New">New Features</a> and <a href="#Changes">Changes</a>
48
<section name="What's Included?" href="Included">
50
<p>The binary distribution of this release includes the following
51
files relevant to Struts:</p>
53
<li><code>INSTALL</code> - Brief installation instructions. See
54
the <code>Struts Documentation Application</code>, or online at
55
<a href="http://jakarta.apache.org/struts/">http://jakarta.apache.org/struts/</a>
56
for more information.</li>
57
<li><code>LICENSE</code> - The Apache Software Foundation license that
58
defines the terms under which you can use Struts (and other software
59
licensed by Apache).</li>
60
<li><code>README</code> - A brief introduction to Struts.</li>
61
<li><code>lib/</code> - Directory containing files you will need in
62
your own applications. The individual files of interest are:
64
<li><code>commons-*.jar</code> - Release packages from the
65
<a href="http://jakarta.apache.org/commons/">Jakarta Commons
66
Project</a> that Struts relies on. You are welcome to use these
67
classes in your own applications. These JAR files should be
68
copied into the <code>/WEB-INF/lib</code> directory of
69
your web application.</li>
70
<li><code>struts.jar</code> - JAR file that contains the compiled
71
Java classes of Struts. You must
72
place this file in the <code>/WEB-INF/lib</code> directory of
73
your web application.</li>
74
<li><code>struts-xxxxx.tld</code> - The tag library descriptor files
75
for the Struts 1.1 tag libraries (bean, html, and logic).
76
You must place these files in the <code>/WEB-INF</code>
77
directory of your web application, and reference them with
78
appropriate <code><taglib></code> directives in your
80
<li><code>jdbc2_0-stdext.jar</code> - The JDBC 2.0 Optional Package
81
API classes (package <code>javax.sql</code>). You will need to
82
include this file in the <code>/WEB-INF/lib</code> directory
83
of your application, if it is not already made visible to web
84
applications by your servlet container.</li>
85
<li><code>struts-config_1_2.dtd</code> - The Document Type Definition
86
(DTD) for the Struts 1.2 configuration file (which is typically named
87
<code>/WEB-INF/struts-config.xml</code>. Your configuration file
88
will be validated against an internal copy of this DTD -- this
89
copy is available for reference purposes only.</li>
90
<li><code>struts-config_1_1.dtd</code> - The Document Type Definition
91
(DTD) for the Struts 1.1 configuration file (which is typically named
92
<code>/WEB-INF/struts-config.xml</code>. Your configuration file
93
will be validated against an internal copy of this DTD -- this
94
copy is available for reference purposes only.</li>
95
<li><code>struts-config_1_0.dtd</code> - The Document Type Definition
96
(DTD) for the Struts 1.0 configuration file (which is typically named
97
<code>/WEB-INF/struts-config.xml</code>. Your configuration file
98
will be validated against an internal copy of this DTD -- this
99
copy is available for reference purposes only.</li>
100
<li><code>web-app_2_2.dtd</code> - The Document Type Definition (DTD)
101
for web.xml files conforming to the Servlet 2.2 specification.
102
This copy is for reference purposes only.</li>
103
<li><code>web-app_2_3.dtd</code> - The Document Type Definition (DTD)
104
for web.xml files conforming to the Servlet 2.3 specification.
105
This copy is for reference purposes only.</li>
107
<li><code>webapps/</code> - Web Application Archive (WAR) files for the
108
web applications that are included with Struts.</li>
111
<p>The following Jakarta Commons libraries are included with this release
114
<li>Commons BeanUtils 1.6.1</li>
115
<li>Commons Collections 2.1</li>
116
<li>Commons Digester 1.5</li>
117
<li>Commons FileUpload 1.0</li>
118
<li>Commons Lang 2.0</li>
119
<li>Commons Logging 1.0.3</li>
120
<li>Commons Validator 1.1.0</li>
125
<section name="What's New?" href="New">
127
<p>Following are highlights of the new features. In the next section, we
128
provide links to the JavaDocs for the affected classes.</p>
130
<p><strong>New Configuration DTD</strong></p>
131
<p> The Struts Configuration 1.1 DTD has been deprecated in favor of the
132
<code><a href="http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">struts-config_1_2.dtd</a></code>.
133
In the Struts 1.2 release, existing Struts configuration files can be
134
loaded using either DTD version. The new DTD adds two new elements <display-name>
135
and <description> to the struts-config element.
136
There are for use by struts config file tools and document generation.
139
<p><strong>New Dependencies on Commons packages</strong></p>
140
<p>The resource component of Struts 1.1 has been found to be useful in
141
general Java development (and not just useful for building Struts-based
142
web applications), and have been migrated into the
143
<a href="http://jakarta.apache.org/commons/">Jakarta Commons Project</a>.
144
As a result, the current development version of Struts has been modified
145
to rely on this Commons package, rather than the
146
Struts internal version. In nearly every case, this involved changing
147
only the <code>import</code> statements at the top of your classes. Any
148
applications that utilize these classes will need to be modified in the
150
<p>The following Commons packages contain the replacements for the
151
corresponding Struts 1.1 classes:</p>
153
<li><strong>Resources Package</strong>
154
[<a href="http://jakarta.apache.org/commons/resources.html"><code>org.apache.commons.resources</code></a>] -
155
<code>org.apache.struts.utils.MessageResources</code></li>
158
<p><strong>NOTE! XML Parser Prerequisite Updated</strong></p>
160
<p>Struts now depends on an XML parser that conforms to the JAXP/1.1
161
(rather than JAXP/1.0) APIs. Parsers known to work include the JAXP/1.1
162
reference implementation, and Xerces 1.3.1.</p>
164
<p><strong>SOURCE DEVELOPERS NOTE! Ant Prerequisite Updated</strong></p>
165
<p>To build Struts from source Ant 1.5.2 or later is now required. This
166
does not affect developers that use Struts from the binary distribution.</p>
169
<p>The source for these components is available in the Struts source
170
distribution. Binary distributions may also be made available with the Struts
171
download area. As optional components, these products have their own
174
<p><strong>Action Package Additions</strong></p>
175
<p>The following new features have been added to the basic controller
176
framework [<code>org.apache.struts.action</code>]:</p>
178
<p><strong>Actions Package Additions</strong></p>
179
<p>The following new features have been added to the adapters between the
180
incoming HTTP request and the corresponding business logic
181
framework [<code>org.apache.struts.actions</code>]:</p>
183
<li>The DispatchAction now provides default cancel handler that can be overridden.
184
It also also possible to specify the default handler name.</li>
185
<li>The LookupDispatchAction now provides default cancel handler that can be overridden.
186
It also also possible to specify the default handler name.</li>
189
<p><strong>Util Package Additions</strong></p>
190
<p>The following new features have been added to the utility classes
191
[<code>org.apache.struts.util</code>]:</p>
193
<p><strong>Validator Package Additions</strong></p>
194
<p>The following new features have been added to the validator classes
195
[<code>org.apache.struts.validator</code>]:</p>
197
<li>The ValidatorPlugin: It is now possible to force the client side
198
Javascript validation to check all constraints, instead of stopping
199
at the first error. By setting a new property, stopOnFirstError,
200
on the validator plug in tag to false. This is in the struts-config.xml as follow:
202
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
203
<set-property property="pathnames"
204
value="/WEB-INF/validation.xml,/WEB-INF/validator-rules.xml"/>
205
<set-property property="stopOnFirstError" value="true"/>
209
<li>validator-rules.xml[intRange]: IntRange now checks select-one and radio fields.
211
This allows populating combo boxes with valid choices plus one additional choice
212
with a caption something like "Choose one" and a value 0f "-1".
213
Then when the user attempts to submit the form, you can look for the value of
214
"-1" and yell at them if they failed to pick something.
221
<p><strong>HTML Taglib Package Additions</strong></p>
222
<p>The following new features have been added to the
223
<em>struts-html</em> custom tag library [<code>org.apache.struts.taglib.html</code>]:</p>
225
<p><strong>Logic Taglib Package Additions</strong></p>
226
<p>The following new features have been added to the
227
<em>struts-logic</em> custom tag library [<code>org.apache.struts.taglib.logic</code>]:</p>
230
<p><strong>Documentation Additions</strong></p>
231
<p>The following new features have been added to the Struts Documentation
232
application (and corresponding contents on the Struts web site):</p>
236
<section name="Operational Changes and Bug Fixes" href="Changes">
238
<p><strong>Struts Configuration Changes</strong></p>
239
<p>The following changes and bug fixes have occurred in the configuration
240
files related to Struts:</p>
242
<li>Japanese resources updates for Struts, its example, upload, tiles-documentation.</li>
244
<p><strong>Config Package</strong></p>
246
<p><strong>Action Package Changes</strong></p>
247
<p>The following changes and bug fixes have occurred in the basic
248
controller framework (package <code>org.apache.struts.action</code>):</p>
250
<p><strong>Upload Package Changes</strong></p>
251
<p>The following changes and bug fixes have occurred in the file upload
252
package (package <code>org.apache.struts.upload</code>):</p>
257
<p><strong>Utility Package Changes</strong></p>
258
<p>The following changes and bug fixes have occurred in the utilities
259
(package <code>org.apache.struts.util</code>):</p>
261
<li>RequestUtils: </li>
264
<p><strong>Bean Taglib Package Changes</strong></p>
265
<p>The following changes and bug fixes have occurred in the
266
<em>struts-bean</em> custom tag library
267
[<code>org.apache.struts.taglib.bean</code>]:</p>
269
<p><strong>HTML Taglib Package Changes</strong></p>
270
<p>The following changes and bug fixes have occurred in the
271
<em>struts-html</em> custom tag library (package
272
<code>org.apache.struts.taglib.html</code>):</p>
274
<p><strong>Logic Taglib Package Changes</strong></p>
275
<p>The following changes and bug fixes have occurred in the
276
<em>struts-logic</em> custom tag library (package
277
<code>org.apache.struts.taglib.logic</code>):</p>
282
<p><strong>Documentation Application Changes</strong></p>
283
<p>The following changes and bug fixes to the Struts Documentation
284
application (and corresponding contents on the Struts web site) have
287
<p><strong>MailReader Example Application Changes</strong></p>
288
<p>The following changes and bug fixes to the Struts MailReader Example Application
291
<p><strong>Template Example Application Changes</strong></p>
292
<p>The following changes and bug fixes to the Struts Template Example
293
Application have occurred:</p>
298
<p><strong>Exercise Taglib Example Application Changes</strong></p>
299
<p>The following changes and bug fixes to the Struts Exercise Taglib Example
300
Application have occurred:</p>
304
<section name="What's different?" href="diff">
306
<p>This section provides links to the Struts JavaDoc for any classes that have
307
been added or deprecated since the Struts 1.0 release.
310
<p><strong>Previously deprecated classes and packages removed in Struts 1.2</strong></p>
313
<code>org.apache.struts.xxxx</code>
317
<p><strong>Packages added in Struts 1.2</strong></p>
320
<p><strong>Classes added in Struts 1.2</strong></p>
333
<p><strong>Classes with members added in Struts 1.2</strong></p>
334
<p><a href="../api/org/apache/struts/action/ActionServlet.html">action.A</a><a href="../api/org/apache/struts/action/ActionServlet.html">ActionServlet</a></p>
336
<li>initModuleConfigFactory()</li>
337
<li>methods created for backward-compatiblity only</li>
339
<p><a href="../api/org/apache/struts/validator/ValidatorPlugin.html">validator.html</a></p>
341
<li>isStopOnFirstError</li>
342
<li>setStopOnFirstError</li>
344
<p><strong>Classes deprecated between Struts 1.1 and Struts 1.2</strong></p>
347
<li><a href="../api/org/apache/struts/xxx/xxxx.html"> xxx</a></li>
350
<p><strong>Classes with members deprecated between Struts 1.1 and Struts 1.2</strong></p>
351
<p><a href="../api/org/apache/struts/xxxx/xxxx.html">class.method</a></p>
354
<p><strong>Classes with members removed between Struts 1.1 and Struts 1.2</strong></p>
355
<p>validator-rules.xml, range() - use intRange() instead.</p>
361
Next: <a href="installation.html">Installation</a>