You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ba...@apache.org on 2007/03/24 07:30:53 UTC
svn commit: r521984 - in /struts/struts1/trunk:
core/src/main/java/org/apache/struts/action/
core/src/main/java/org/apache/struts/chain/commands/servlet/
core/src/test/java/org/apache/struts/action/ faces/
faces/src/main/resources/META-INF/tld/ src/sit...
Author: bayard
Date: Fri Mar 23 23:30:50 2007
New Revision: 521984
URL: http://svn.apache.org/viewvc?view=rev&rev=521984
Log:
Merging -r505116:519563 https://svn.apache.org/repos/asf/struts/struts1/branches/STRUTS_1_3_BRANCH/ into trunk as per STR-3018
Added:
struts/struts1/trunk/src/site/xdoc/userGuide/release-notes-1_3_6.xml
- copied unchanged from r519563, struts/struts1/branches/STRUTS_1_3_BRANCH/src/site/xdoc/userGuide/release-notes-1_3_6.xml
struts/struts1/trunk/src/site/xdoc/userGuide/release-notes-1_3_7.xml
- copied unchanged from r519563, struts/struts1/branches/STRUTS_1_3_BRANCH/src/site/xdoc/userGuide/release-notes-1_3_7.xml
Modified:
struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionRedirect.java
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/CreateAction.java
struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/SelectAction.java
struts/struts1/trunk/core/src/test/java/org/apache/struts/action/TestActionRedirect.java
struts/struts1/trunk/faces/pom.xml
struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
struts/struts1/trunk/src/site/xdoc/userGuide/index.xml
struts/struts1/trunk/src/site/xdoc/userGuide/release-notes.xml
struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/LinkTag.java
Modified: struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionRedirect.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionRedirect.java?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionRedirect.java (original)
+++ struts/struts1/trunk/core/src/main/java/org/apache/struts/action/ActionRedirect.java Fri Mar 23 23:30:50 2007
@@ -131,7 +131,7 @@
setName(baseConfig.getName());
setPath(baseConfig.getPath());
setModule(baseConfig.getModule());
- setRedirect(baseConfig.getRedirect());
+ setRedirect(true);
inheritProperties(baseConfig);
initializeParameters();
}
Modified: struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/CreateAction.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/CreateAction.java?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/CreateAction.java (original)
+++ struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/CreateAction.java Fri Mar 23 23:30:50 2007
@@ -65,8 +65,7 @@
action = (Action) actions.get(type);
if (action == null) {
- log.info("Initialize action of type: " + type);
- action = (Action) ClassUtils.getApplicationInstance(type);
+ action = createAction(context, type);
actions.put(type, action);
}
}
@@ -79,5 +78,23 @@
}
return (action);
+ }
+
+
+ /**
+ * <p>Invoked by <code>getAction</code> when the <code>Action</code>
+ * actually has to be created. If the instance is already created and
+ * cached, this method will not be called. </p>
+ *
+ * @param context The <code>Context</code> for this request
+ * @param type Name of class to instantiate
+ * @return Instantiated Action class
+ * @throws Exception if there are any problems instantiating the Action
+ * class.
+ * @since Struts 1.3.7
+ */
+ protected Action createAction(ActionContext context, String type) throws Exception {
+ log.info("Initialize action of type: " + type);
+ return (Action) ClassUtils.getApplicationInstance(type);
}
}
Modified: struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/SelectAction.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/SelectAction.java?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/SelectAction.java (original)
+++ struts/struts1/trunk/core/src/main/java/org/apache/struts/chain/commands/servlet/SelectAction.java Fri Mar 23 23:30:50 2007
@@ -46,20 +46,20 @@
// For prefix matching, match on the path info
path = (String) request.getAttribute(Constants.INCLUDE_PATH_INFO);
- if (path == null) {
+ if ((path == null) || (path.length() == 0)) {
path = request.getPathInfo();
}
// For extension matching, match on the servlet path
- if (path == null) {
+ if ((path == null) || (path.length() == 0)) {
path =
(String) request.getAttribute(Constants.INCLUDE_SERVLET_PATH);
- if (path == null) {
+ if ((path == null) || (path.length() == 0)) {
path = request.getServletPath();
}
- if (path == null) {
+ if ((path == null) || (path.length() == 0)) {
throw new IllegalArgumentException(
"No path information in request");
}
Modified: struts/struts1/trunk/core/src/test/java/org/apache/struts/action/TestActionRedirect.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/core/src/test/java/org/apache/struts/action/TestActionRedirect.java?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/core/src/test/java/org/apache/struts/action/TestActionRedirect.java (original)
+++ struts/struts1/trunk/core/src/test/java/org/apache/struts/action/TestActionRedirect.java Fri Mar 23 23:30:50 2007
@@ -104,7 +104,7 @@
/**
* Test creating an ActionRedirect which copies its configuration from an
- * existing ActionForward.
+ * existing ActionForward (except for the "redirect" property).
*/
public void testActionRedirectFromExistingForward() {
ActionForward forward = new ActionForward("/path.do?param=param1");
@@ -123,7 +123,7 @@
ar.getOriginalPath());
assertEquals("Incorrect or missing property", "value",
ar.getProperty("key"));
- assertTrue("Original had redirect to false", !ar.getRedirect());
+ assertTrue("Original had redirect to false", ar.getRedirect());
}
/**
Modified: struts/struts1/trunk/faces/pom.xml
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/faces/pom.xml?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/faces/pom.xml (original)
+++ struts/struts1/trunk/faces/pom.xml Fri Mar 23 23:30:50 2007
@@ -81,6 +81,13 @@
<dependency>
<groupId>javax.servlet</groupId>
+ <artifactId>jsp-api</artifactId>
+ <version>2.0</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.3</version>
<scope>provided</scope>
@@ -118,6 +125,7 @@
<plugins>
<!--
STR-2979: Faces build causes NPE with maven-taglib-plugin
+-->
<plugin>
<groupId>net.sourceforge.maven-taglib</groupId>
<artifactId>maven-taglib-plugin</artifactId>
@@ -125,7 +133,6 @@
<taglib.src.dir>${basedir}/src/main/resources/META-INF/tld</taglib.src.dir>
</configuration>
</plugin>
- -->
</plugins>
</reporting>
Modified: struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld (original)
+++ struts/struts1/trunk/faces/src/main/resources/META-INF/tld/struts-faces.tld Fri Mar 23 23:30:50 2007
@@ -19,7 +19,7 @@
-->
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
- <tlib-version>0.1</tlib-version>
+ <tlib-version>1.3</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Struts-Faces</short-name>
<uri>http://struts.apache.org/tags-faces</uri>
Modified: struts/struts1/trunk/src/site/xdoc/userGuide/index.xml
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/src/site/xdoc/userGuide/index.xml?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/src/site/xdoc/userGuide/index.xml (original)
+++ struts/struts1/trunk/src/site/xdoc/userGuide/index.xml Fri Mar 23 23:30:50 2007
@@ -313,6 +313,18 @@
<a href="release-notes.html">6.1 Release Notes</a>
<ul>
<li>
+ <a href="release-notes-1_3_7.html">Release
+ Notes 1.3.7</a> <i>(Beta)</i>
+ </li>
+ <li>
+ <a href="release-notes-1_3_6.html">Release
+ Notes 1.3.6</a> <i>(Test Build)</i>
+ </li>
+ <li>
+ <a href="release-notes-1_3_5.html">Release
+ Notes 1.3.5</a>
+ </li>
+ <li>
<a href="release-notes-1_3_3.html">Release
Notes 1.3.3</a> <i>(Test Build)</i>
</li>
Modified: struts/struts1/trunk/src/site/xdoc/userGuide/release-notes.xml
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/src/site/xdoc/userGuide/release-notes.xml?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/src/site/xdoc/userGuide/release-notes.xml (original)
+++ struts/struts1/trunk/src/site/xdoc/userGuide/release-notes.xml Fri Mar 23 23:30:50 2007
@@ -23,26 +23,23 @@
<document>
<properties>
- <title>Release Notes (since 1.3.5)</title>
+ <title>Release Notes (since 1.3.7)</title>
</properties>
<body>
- <section name="6.1 Release Notes - Version 1.3.6">
-
- <blockquote><p><em>
- "I've had nothing yet, so I can't take more."
- </em></p><p><em>
- "You mean you can't take less. It's very easy to take more than
- nothing."
- </em></p></blockquote>
+ <section name="6.1 Release Notes - Version 1.3.8">
<a name="release_notes"/>
<subsection name="Introduction">
<p>
This section contains release notes for changes that have
- taken place to Struts,
- since the
- <a href="release-notes-1_3_5.html">Version 1.3.5</a>
- distribution.
+ taken place to Struts since the last public release, but
+ there have been two intermediate test distributions since. Please
+ read the previous release notes to understand all issues
+ that crescendo at this version:
+ <blockquote>
+ <a href="release-notes-1_3_7.html">Version 1.3.7</a><br/>
+ <a href="release-notes-1_3_6.html">Version 1.3.6</a><br/>
+ </blockquote>
To keep up-to-date on all changes to the framework,
subscribe to
the (commits at struts.apache.org) list.
@@ -67,183 +64,17 @@
</subsection>
- <a name="dependencies"/>
- <subsection name="Dependencies">
- <p>
- The following dependencies have changed:
- </p>
- <ul>
- <li><strong>Validator 1.3.1</strong> -
- <a href="http://jakarta.apache.org/commons/validator/">Commons Validator</a>
- has been upgraded to
- <a href="http://jakarta.apache.org/commons/validator/changes-report.html">Version 1.3.1</a>
- - as well as a number of bugfixes, compressed versions of the JavaScript routines are provided
- which can be configured using the new <code>validator-rules-compressed.xml</code> config file.
- </li>
- <li><strong>Digester 1.8</strong> -
- <a href="http://jakarta.apache.org/commons/digester/">Commons Digester</a>
- has been upgraded to
- <a href="http://jakarta.apache.org/commons/digester/commons-digester-1.8/RELEASE-NOTES.txt">Version 1.8</a>
- to fix issue <a href="http://issues.apache.org/jira/browse/DIGESTER-29">DIGESTER-29</a>.
- </li>
- </ul>
- </subsection>
-
<a name="Highlight"/>
- <subsection name="Highlights of Changes">
- <p>
- The purpose of this section is to highlight the new
- features since the
- <a href="release-notes-1_3_5.html">Version 1.3.5 distribution.</a>
- For more detail, see the Project Info reports for each
- component,
- which include a list of external dependencies.
- </p>
- <p>
- You can also access to the Apache Struts source repository and
- change logs directly through both
- <a href="http://svn.apache.org/viewcvs.cgi/struts/struts1/trunk/?root=Apache-SVN">
- web browser</a>
- and
- <a href="http://www.apache.org/dev/version-control.html">
- Subversion client</a>
- interfaces.
- </p>
-
- <h4>Action ID</h4>
- <p>An action mapping may now may be given an identifier by the new <code>actionId</code>
- property which uniquely identifies the mapping within a module:</p>
-
-<pre>
-<action path="/person/view" type="..." input="...">
- <set-property property="actionId" value="viewPersonAction" />
- <forward name="success" path="person.jsp" />
-</action>
-</pre>
-
- <p>Just as the <code>TilesRequestProcessor</code> could recognize a tile definition
- and resolve it to the intended JSP, so does Struts now have built-in
- recognition for URIs that begin with an <code>actionId</code> and will automatically
- translate forwards. Both these forwards below will be resolved internally
- to <code>/person/view.do</code> (with parameters included):
- </p>
-
-<pre>
-<forward name="success" path="viewPersonAction" />
-<forward name="success" path="viewPersonAction?fruit=banana&color=yellow" />
-</pre>
-
- <p>You can effectively eliminate all URI management throughout the Struts configuration
- files <b>and</b> within JSP. The tag libraries are also updated to recognize the
- <code>actionId</code>:</p>
-
-<pre>
-<html:form action="savePersonAction">...</html:form>
-<html:link action="viewPersonAction">...</html:link>
-</pre>
-
- <p>Note: It is good practice to name the <code>actionId</code> as <em>entityAction</em>
- to distinguish the identifier from, perhaps, a Tiles definition named <em>entityPage</em>.</p>
-
- <h4>Internationalization (I18N) Tag Properties</h4>
-
- <p>Struts tag libraries now include the HTML I18N properties. This allows sites that
- specialize in internationalization to specify both bi-directional text and language
- at the tag level:</p>
-
-<pre>
-<html:link action="viewPersonAction" dir="ltor" lang="es"/>vea a persona</html:link>
-</pre>
-
- <h4>Dynamic Link Parameters</h4>
-
- <p>The Struts <code><html:link></code>, <code><html:frame></code>,
- <code><html:rewrite></code> tag libaries now allow their bodies to nest the new
- <code><html:param></code> tag. This is useful when it is awkward (or inappropriate)
- to pass in existing parameters as a <code>Map</code>, which is still supported and will
- be appened to any present <code><html:param></code> tags:</p>
-
-<pre>
-<html:link action="viewPersonAction">
- View Profile of A Struts Developer
- <html:param name="id" value="1" />
- <html:param name="name" value="Ted Husted" />
-</html:link>
-</pre>
-
- <h4>Property MessageResources Modes</h4>
- <p><code>PropertyMessageResources</code> now has a <i>compatibility mode</i>
- option which allows it to be configured to operate in modes compatible with
- either <i>JSTL</i> or <code>PropertyResourceBundle</code> (as well as the
- <i>backwardly compatible</i> default mode). To use the new modes configure
- the the message resources in the <code>struts-config.xml</code> in the
- following way (<strong>note</strong> the use of the <strong>key</strong> attribute
- in <code><set-property></code>): </p>
-
-<pre>
-<message-resources parameter="....">
- <set-property key="mode" value="JSTL"/> // JSTL mode
-</message-resources>
-
-<message-resources parameter="....">
- <set-property key="mode" value="resource"/> // PropertyResourceBundle mode
-</message-resources>
-</pre>
-
-<h3>Issue Tracking</h3>
+ <subsection name="Issue Tracking">
<h4>Bug</h4>
<ul>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2894'>STR-2894</a>] - The <form-bean> type attribute should be optional</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2903'>STR-2903</a>] - MappingDispatchAction throws an error when mapping.getParameter returns null</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2916'>STR-2916</a>] - Arbitrary properties don't get copied when creating ActionRedirect objects based on an existing ForwardConfig</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2917'>STR-2917</a>] - ForwardConfig inheritance doesn't work when trying to inherit global forwards</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2920'>STR-2920</a>] - Broken link to "MessageResources" in user guide</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2922'>STR-2922</a>] - Broken Link in User Guide</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2932'>STR-2932</a>] - html:option tag does not apply any filtering to escape HTML-sensitive characters</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2935'>STR-2935</a>] - Tiles resource chain-config.xml missing RemovedCachedMessages and SetOriginalURI</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2936'>STR-2936</a>] - Incorrect validator name floatRange used in maxlength error</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2955'>STR-2955</a>] - extending action does not pick up the correct validate attribute</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2966'>STR-2966</a>] - s:commandLink doesn't work with Apache Trinidad or Oracle's ADF Faces</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2967'>STR-2967</a>] - html:image takes a "module-aware" path but does not allow module to be specified</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2971'>STR-2971</a>] - one of validator.Resources.getActionMessage method does not respect message's "bundle" attribute</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2972'>STR-2972</a>] - LazyValidatorForm cannot be saved in the session</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2973'>STR-2973</a>] - multiple lifecycle (FIXME in code)</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2977'>STR-2977</a>] - ELFormTagBeanInfo wrongly references ELTextTag</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2985'>STR-2985</a>] - Validate language and country according to RFC2616 in HtmlTag</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2987'>STR-2987</a>] - Scripting Mailreader: cannot log out</li>
-</ul>
-
-<h4>Improvement</h4>
-<ul>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2077'>STR-2077</a>] - Provide a <code>PropertyResourceBundle</code> compatibility option for PropertyMessageResources</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2925'>STR-2925</a>] - Provide a <i>JSTL</i> compatibility option for PropertyMessageResources</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2839'>STR-2839</a>] - Create aggregated Javadocs</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2951'>STR-2951</a>] - Various documentation improvements</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2952'>STR-2952</a>] - Maven build and infrastructure improvements</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2958'>STR-2958</a>] - ClassNotFoundExceptions are swallowed by FormPropertyConfig</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2980'>STR-2980</a>] - Typo in documentation: "indefinately"</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2981'>STR-2981</a>] - Adjust AbstractAuthorizeAction to allow custom code to throw its own UnauthorizedActionException</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2982'>STR-2982</a>] - Complete JavaDoc package summaries</li>
+<li>[<a href='https://issues.apache.org/struts/browse/STR-3009'>STR-3009</a>] - ActionRedirect from ForwardConfig not redirecting properly?</li>
+<li>[<a href='https://issues.apache.org/struts/browse/STR-3010'>STR-3010</a>] - Faces Example2 webapp references older DTD version in struts-config.xml which doesn't have the cancellable attribute</li>
+<li>[<a href='https://issues.apache.org/struts/browse/STR-3011'>STR-3011</a>] - EL Example webapp has a number of errors</li>
+<li>[<a href='https://issues.apache.org/struts/browse/STR-3012'>STR-3012</a>] - User guide does not have links to 1.3.5, 1.3.6, 1.3.7 release notes</li>
</ul>
-
-<h4>New Feature</h4>
-<ul>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-746'>STR-746</a>] - Add <html:param> for multiple parameters</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-1559'>STR-1559</a>] - Need Bidirectional support for RtoL languages in html:html tag</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2864'>STR-2864</a>] - Add actionId attribute to action mapping</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2983'>STR-2983</a>] - Provide a new <i>compressed</i> version of the validator-rules.xml (requires <a href='http://jakarta.apache.org/commons/validator/'>Commons Validator 1.3.1</a>)</li>
-</ul>
-
-<h4>Task</h4>
-<ul>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2942'>STR-2942</a>] - Use the DTDDoc plugin to generate HTML formatted DTD documentation</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2944'>STR-2944</a>] - Update the dtds whenever the top-level site is published</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2968'>STR-2968</a>] - ASF Source Header and Copyright Notice Policy</li>
-<li>[<a href='http://issues.apache.org/struts/browse/STR-2978'>STR-2978</a>] - Struts 1.3.6 omnibus</li>
-</ul>
-
- </subsection>
+</subsection>
<subsection>
<p class="right">Next:
Modified: struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/LinkTag.java
URL: http://svn.apache.org/viewvc/struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/LinkTag.java?view=diff&rev=521984&r1=521983&r2=521984
==============================================================================
--- struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/LinkTag.java (original)
+++ struts/struts1/trunk/taglib/src/main/java/org/apache/struts/taglib/html/LinkTag.java Fri Mar 23 23:30:50 2007
@@ -388,7 +388,7 @@
paramName = null;
paramProperty = null;
paramScope = null;
- parameters = null;
+ parameters.clear();
property = null;
scope = null;
target = null;