cziegeler 02/02/18 03:02:47
Modified: src/java/org/apache/cocoon/generation HTMLGenerator.java
Log:
Fixing request parameter handling.
PR:6520
Revision Changes Path
1.11 +9 -15
xml-cocoon2/src/java/org/apache/cocoon/generation/HTMLGenerator.java
Index: HTMLGenerator.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/java/org/apache/cocoon/generation/HTMLGenerator.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- HTMLGenerator.java 13 Feb 2002 07:07:52 -0000 1.10
+++ HTMLGenerator.java 18 Feb 2002 11:02:47 -0000 1.11
@@ -93,7 +93,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Carsten Ziegeler</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Nicola Ken Barozzi</a>
- * @version CVS $Id: HTMLGenerator.java,v 1.10 2002/02/13 07:07:52 cziegeler Exp $
+ * @version CVS $Id: HTMLGenerator.java,v 1.11 2002/02/18 11:02:47 cziegeler Exp $
*/
public class HTMLGenerator extends ComposerGenerator
implements Cacheable, Disposable {
@@ -145,28 +145,22 @@
// append the request parameter to the URL if necessary
if (par.getParameterAsBoolean( "copy-parameters", false )) {
- StringBuffer query = new StringBuffer( 32 );
-
+ final StringBuffer query = new StringBuffer( super.source );
+ char separator = (super.source.indexOf("?") == -1 ? '?' : '&');
Enumeration params = request.getParameterNames();
while (params.hasMoreElements()) {
String name = (String)params.nextElement();
String[] values = request.getParameterValues( name );
for (int i = 0; i < values.length; i++) {
- query.append( name ).append( "=" ).append( values[i] ).append(
"&" );
- }
- }
-
- if (query.length() > 0) {
- query = new StringBuffer(super.source);
- if (super.source.indexOf("?") == -1) {
- query.append('?');
- } else {
- query.append('&');
+ query.append( separator )
+ .append( name )
+ .append( "=" )
+ .append( values[i] );
+ separator = '&';
}
- query.append( query.substring( 0, query.length() - 1) );
- super.source = query.toString();
}
+ super.source = query.toString();
}
this.inputSource = resolver.resolve(super.source);
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]