📄 release-notes-1.1.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Struts Release Notes (Version 1.1)</title>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<meta content="Craig R. McClanahan" name="author" />
<meta content="Robert Leland" name="author" />
<meta content="Ted Husted" name="author" />
<meta content="Martin Cooper" name="author" />
<link href="../struts.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="heading">
<a href="http://apache.org/">
<img id="asf_logo_wide" alt="The Apache Project" src="../images/asf_logo_wide.gif" />
</a>
<a href="http://struts.apache.org/">
<img id="struts-logo" alt="Struts Framework" src="../images/struts.gif" />
</a>
</div>
<!--end heading-->
<div id="content">
<div id="menu">
<p>User Guide</p>
<ul>
<li>
<a href="index.html">Table of Contents</a>
</li>
<li>
<a href="preface.html">Preface</a>
</li>
<li>
<a href="introduction.html">Introduction</a>
</li>
<li>
<a href="building_model.html">Model Components</a>
</li>
<li>
<a href="building_view.html">View Components</a>
</li>
<li>
<a href="building_controller.html">Controller Components</a>
</li>
<li>
<a href="configuration.html">Configuration</a>
</li>
<li>
<a href="release-notes.html">Release Notes</a>
</li>
<li>
<a href="installation.html">Installation</a>
</li>
</ul>
<p>Developer Guides</p>
<ul>
<li>
<a href="dev_bean.html">Bean Tags</a>
</li>
<li>
<a href="dev_html.html">HTML Tags</a>
</li>
<li>
<a href="dev_logic.html">Logic Tags</a>
</li>
<li>
<a href="dev_nested.html">Nested Tags</a>
</li>
<li>
<a href="dev_tiles.html">Tiles Tags</a>
</li>
<li>
<a href="dev_util.html">Utilities</a>
</li>
<li>
<a href="dev_validator.html">Validator</a>
</li>
</ul>
<p>Quick Links</p>
<ul>
<li>
<a href="../index.html">Welcome</a>
</li>
<li>
<a href="index.html">User and Developer Guides *</a>
</li>
<li>
<a href="../faqs/index.html">FAQs and HowTos</a>
</li>
</ul>
<div class="authors">
<p>
<strong>Contributors</strong>
</p>
<ul>
<li>Craig R. McClanahan</li>
<li>Robert Leland</li>
<li>Ted Husted</li>
<li>Martin Cooper</li>
</ul>
</div>
</div>
<!--end menu-->
<div id="main">
<h1 id="release_notes">6.1 Release Notes</h1>
<h2 id="beta">Release Notes</h2>
<div class="indent">
<p>This section contains the release notes for the
<strong>Version 1.1</strong> build of the Struts Framework, for changes that
have taken place since
<a href="release-notes-1.1-rc2.html">Version 1.1 Release Candidate 2</a>
was issued. For a complete list of changes since the last
production release, see the <a href="#Introduction">Introduction</a> </p>
</div>
<h2 id="beta.Changes">Release Candidate/Beta Fixes</h2>
<div class="indent">
<p>
In RC2, the <strong>Commons-DBCP and Commons-Pool dependencies have been removed</strong>.
These are replaced with a dependency on the
<a href="http://archive.apache.org/dist/jakarta/struts/old/release/struts-legacy/">Struts-Legacy package</a>,
containing the GenericDataSource and GenericConnection classes from Struts 1.0.2.
These are distributed for J2SE 1.3 but may be recompiled for J2SE 1.4.
Other DataSource implementations may be plugged in (recommended).
</p>
<p>
Other changes since RC1 have been routine fixes and refactorings.
</p>
<p>
<strong>OTHER CHANGES:</strong>
</p>
<p>
<strong>Action package:</strong>
Deprecated processActionForward() because ActionForward is a subclass of ForwardConfig so there's no reason we can't use processForwardConfig() instead.
Updated to use processForwardConfig instead of deprecated processActionForward.
Deprecated the rest of the Action constants in favor of Globals.
Refactored some of initModuleConfig into a separate method and cleaned up.
Improved exception handling in ActionServlet and RequestProcessor; generally, we limited the scope of try/catch blocks and caught specific exceptions rather than Throwable.
</p>
<p>
<strong>Documentation:</strong>
Document the <html:html> tag's locale attribute behaviour of creating a session if needed.
Added note to validator section regarding the converNull servlet parameter and required validations of java.lang.Integer fields.
Moved sites and consultants page to Struts Wiki.
Other minor tweaks.
</p>
<p>
<strong>EL package:</strong>
Fixed mapping of "onkeypress" attribute.
Separated "expr" attribute into "expr" and "exprValue", being the original attribute value and the evaluated value.
Fixed probably long-standing bug in notMatch tag that made it behave identically to the "match" tag (instead of the reverse).
</p>
<p>
<strong>Example applicattions:</strong>
Added Multi-config files for the example app.
</p>
<p>
<strong>Legacy package:</strong>
Added package under contrib to host old GenericDataSource and GenericConnection classes.
</p>
<p>
<strong>Taglibs packages:</strong>
Fixed several import statements.
Refactored converting a scope name into its integer constant into a new method RequestUtils.getScope(String), and changed the DefineTag, EmptyTag, and TagUtils classes to use the new method.
</p>
<p>
<em>faces taglib.</em> Added early release to contrib area.
</p>
<p>
<em>html taglib.</em>
Reset the 'processed' flag at the beginning of each usage of the tag. Use a local copy of the 'name' attribute to avoid modifying the attribute value itself.
Fixed references to static members.
For FrameTag and HiddenTag, conform TLD with implementations.
In ErrorsTag, render a platform-independent line ending instead of hard coded "\r\n".
In JavaScriptValidatorTag, make the line-end generation platform independent so that Cactus tests work properly.
In FormTag, refactored code into smaller reusable methods.
In RewriteTag, encode the ampersand character in XHTML mode only, otherwise write the ampersand as is so the URL will work in JavaScript scripts.
Refactored form bean initialization out of doStartTag() into its own method.
Refactored doStartTag() 'if' statement to avoid having long nested 'if' logic.
In ErrorTag, fixed formatting and deprecated unused defaultLocale variable.
Refactored doStartTag() and doEndTag() into smaller methods.
Moved xhtml check to RequestUtils instead of duplicating the logic in many different classes.
Added lookupProperty() method to BaseHandlerTag because both RadioTag and TextareaTag used the same code.
Refactored TextareaTag into smaller methods.
In JavaScriptValidatorTag, replaced duplicated code with call to RequestUtils.retrieveUserLocale() and simplified an 'if' statement.
</p>
<p>
<em>logic taglib.</em>
Set 'iterator' to null in doEndTag() so that we release the iterator reference as early as possible. We cannot do the same for 'collection' since it is a tag attribute, and needs to remain unchanged to comply with the JSP spec.
Don't create empty cookies array if null, just don't run the loop at all.
In ForwardTag, remove unnecessary test for null.
</p>
<p>
<em>nested tablibs.</em>
Improved support for Tomcat 4.1.18.
Replace EVAL_BODY_AGAIN with EVAL_BODY_TAG so that the code compiles against the JSP 1.1 API.
Changed the <nested:define> tag's tei class to reference a new custom tei class for the nested tags.
</p>
<p>
<em>tiles taglib.</em>
Fixed references to static members.
Deprecated outdated Tiles TextTag.
For InsertTag, only include page if it's non-null.
For InserTag, remove page check before including for more investigation.
</p>
<p>
<strong>Test packages:</strong>
Added several new tests for the bean, html, and logic taglibs to the suite setup at the tail-end of RC1.
Note: We cannot resolve request.getServerPort() in the Cactus 1.4.x environment, so for now, our tests will only run on Cactus 1.3
</p>
<p>
<strong>Tiles package:</strong>
Deprecated TilesUtil.applicationClass() in favor of RequestUtils.applicationClass()
</p>
<p>
<strong>Util package:</strong>
retrieveUserLocale now uses the request.getLocale() method for finding the user's preferred locale.
If user has not specified this with Accept-Language header, the server default locale is used.
Change encodeURL() to not use reflection on every call.
In RequestUtils, simplified separator logic in computeURL().
</p>
<p>
<strong>Validator package:</strong>
Deprecate logging methods and indicate that commons-logging should be used.
Logic simplification and minor formatting fixes to Resources class.
</p>
<p>
<strong>build files:</strong>
</p>
<ul>
<li>
(build.properties.sample) Add an entry for http-unit.
</li>
<li>
Remove dependency on Commons Resources for Struts 1.1 release. (This migration will happen later).
</li>
<li>
Make it possible to build Struts against the Servlet 2.4 and JSP 2.0 APIs, where the JSP classes have been pulled out into their own JAR file (jsp.jar). On an earlier platform, you can leave the "jsp.jar" property unset and thing will continue to operate as they have before.
</li>
</ul>
<p>
<strong>Bugzilla Problem Report fixes:</strong>
</p>
<ul>
<li>
Fixed #17312 - retrieveUserLocale throws exception without sessions.
</li>
<li>
Fixed #17254 - If body text is empty and there's no resource key to lookup, display nothing in the option.
</li>
<li>
Fixed #17371- The tag now uses RequestUtils.retrieveUserLocale for looking up the appropriate locale. Using that method protects us from needlessly creating a session.
</li>
<li>
Fixed #17375 - Problem in ELErrorsTag because the "name" attribute of ErrorsTag has a non-null default value.
</li>
<li>
Fixed #17622 - validator-rules.xml issues.
</li>
<li>
Fixed #17299 - Set page variable from dyna map before validating.
</li>
<li>
Fixed #17838 - Help debug specific user errors by showing quotes around the key that is in error (missing or mispelled).
</li>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -