You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by cr...@apache.org on 2001/06/01 22:21:41 UTC

cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java

craigmcc    01/06/01 13:21:41

  Modified:    src/share/org/apache/struts/util Tag: STRUTS_1_0_BRANCH
                        RequestUtils.java
  Log:
  Generate "&" instead of "&" in request URIs so that the output is still
  legal XML syntax in the value returned by computeURL().
  
  PR:  Bugzilla #1938
  Submitted by :  Alessandro Vernet <av...@scdi.org> (also supplied
  the patch - thanks!)
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.2  +7 -7      jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
  
  Index: RequestUtils.java
  ===================================================================
  RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v
  retrieving revision 1.14.2.1
  retrieving revision 1.14.2.2
  diff -u -r1.14.2.1 -r1.14.2.2
  --- RequestUtils.java	2001/06/01 18:45:03	1.14.2.1
  +++ RequestUtils.java	2001/06/01 20:21:40	1.14.2.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v 1.14.2.1 2001/06/01 18:45:03 craigmcc Exp $
  - * $Revision: 1.14.2.1 $
  - * $Date: 2001/06/01 18:45:03 $
  + * $Header: /home/cvs/jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java,v 1.14.2.2 2001/06/01 20:21:40 craigmcc Exp $
  + * $Revision: 1.14.2.2 $
  + * $Date: 2001/06/01 20:21:40 $
    *
    * ====================================================================
    *
  @@ -95,7 +95,7 @@
    * in the Struts controller framework.
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.14.2.1 $ $Date: 2001/06/01 18:45:03 $
  + * @version $Revision: 1.14.2.2 $ $Date: 2001/06/01 20:21:40 $
    */
   
   public class RequestUtils {
  @@ -364,7 +364,7 @@
                           url.append('?');
                           question = true;
                       } else
  -                        url.append('&');
  +                        url.append("&amp;");
                       url.append(URLEncoder.encode(key));
                       url.append('='); // Interpret null as "no value"
                   } else if (value instanceof String) {
  @@ -372,7 +372,7 @@
                           url.append('?');
                           question = true;
                       } else
  -                        url.append('&');
  +                        url.append("&amp;");
                       url.append(URLEncoder.encode(key));
                       url.append('=');
                       url.append(URLEncoder.encode((String) value));
  @@ -383,7 +383,7 @@
                               url.append('?');
                               question = true;
                           } else
  -                            url.append('&');
  +                            url.append("&amp;");
                           url.append(URLEncoder.encode(key));
                           url.append('=');
                           url.append(URLEncoder.encode(values[i]));
  
  
  

Re: cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java

Posted by Jonathan <ja...@i-2000.com>.
Just thought I would mention this in case someone was not sure, and I hope
I'm not preaching to the choir.
The life cycle is as follows:
If the form or link has an ampersand it always gets escaped as %26.
The container than translates it back as "&" so getParameter() will get the
already decoded "&" character
So if you are to send "&amp;" it will get encoded to %26amp%3b and decoded
back to "&amp;"  which is legal xml
Therfore I dont understand the problem


----- Original Message -----
From: "Deadman, Hal" <ha...@tallan.com>
To: <st...@jakarta.apache.org>
Sent: Friday, June 01, 2001 5:56 PM
Subject: RE: cvs commit: jakarta-struts/src/share/org/apache/struts/util
RequestUtils.java


> Sounds good. I don't have access to other browsers but they probably work
> too.
>
> > -----Original Message-----
> > From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> > Sent: Friday, June 01, 2001 5:31 PM
> > To: struts-dev@jakarta.apache.org
> > Subject: RE: cvs commit:
> > jakarta-struts/src/share/org/apache/struts/util
> > RequestUtils.java
> >
> >
> >
> >
> > On Fri, 1 Jun 2001, Deadman, Hal wrote:
> >
> > > Does this change mean that there will be a link generated
> > that looks like
> > > this:
> > >
> > > some.jsp?test=1&amp;test=2
> > > instead of
> > > some.jsp?test=1&test=2
> > >
> >
> > Yes, in the generated HTML code of the page (i.e. when you do a view
> > source).
> >
> > > If so, I don't think that will work. It doesn't work on
> > Weblogic 6.0.
> > > Calling getParameterValues() only sees the first value.
> > >
> >
> > In my tests, both Netscape and IE would both send this
> > hyperlink back in
> > with a '&' instead, so multiple parameter values would still
> > be recognized
> > in the usual way.  Are there clients that don't do this?
> >
> > > Hal
> > >
> >
> > Craig
> >
> >
> > >
> > > > -----Original Message-----
> > > > From: craigmcc@apache.org [mailto:craigmcc@apache.org]
> > > > Sent: Friday, June 01, 2001 4:22 PM
> > > > To: jakarta-struts-cvs@apache.org
> > > > Subject: cvs commit:
> > jakarta-struts/src/share/org/apache/struts/util
> > > > RequestUtils.java
> > > >
> > > >
> > > > craigmcc    01/06/01 13:21:41
> > > >
> > > >   Modified:    src/share/org/apache/struts/util Tag:
> > STRUTS_1_0_BRANCH
> > > >                         RequestUtils.java
> > > >   Log:
> > > >   Generate "&amp;" instead of "&" in request URIs so that the
> > > > output is still
> > > >   legal XML syntax in the value returned by computeURL().
> > > >
> > > >   PR:  Bugzilla #1938
> > > >   Submitted by :  Alessandro Vernet <av...@scdi.org>
> > (also supplied
> > > >   the patch - thanks!)
> > > >
> > > >   Revision  Changes    Path
> > > >   No                   revision
> > > >
> > > >
> > > >   No                   revision
> > > >
> > > >
> > > >   1.14.2.2  +7 -7
> > > > jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
> > > >
> > > >   Index: RequestUtils.java
> > > >
> > ===================================================================
> > > >   RCS file:
> > > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > > estUtils.java,v
> > > >   retrieving revision 1.14.2.1
> > > >   retrieving revision 1.14.2.2
> > > >   diff -u -r1.14.2.1 -r1.14.2.2
> > > >   --- RequestUtils.java 2001/06/01 18:45:03 1.14.2.1
> > > >   +++ RequestUtils.java 2001/06/01 20:21:40 1.14.2.2
> > > >   @@ -1,7 +1,7 @@
> > > >    /*
> > > >   - * $Header:
> > > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > > estUtils.java,v 1.14.2.1 2001/06/01 18:45:03 craigmcc Exp $
> > > >   - * $Revision: 1.14.2.1 $
> > > >   - * $Date: 2001/06/01 18:45:03 $
> > > >   + * $Header:
> > > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > > estUtils.java,v 1.14.2.2 2001/06/01 20:21:40 craigmcc Exp $
> > > >   + * $Revision: 1.14.2.2 $
> > > >   + * $Date: 2001/06/01 20:21:40 $
> > > >     *
> > > >     *
> > > >
> > ====================================================================
> > > >     *
> > > >   @@ -95,7 +95,7 @@
> > > >     * in the Struts controller framework.
> > > >     *
> > > >     * @author Craig R. McClanahan
> > > >   - * @version $Revision: 1.14.2.1 $ $Date: 2001/06/01 18:45:03 $
> > > >   + * @version $Revision: 1.14.2.2 $ $Date: 2001/06/01 20:21:40 $
> > > >     */
> > > >
> > > >    public class RequestUtils {
> > > >   @@ -364,7 +364,7 @@
> > > >                            url.append('?');
> > > >                            question = true;
> > > >                        } else
> > > >   -                        url.append('&');
> > > >   +                        url.append("&amp;");
> > > >                        url.append(URLEncoder.encode(key));
> > > >                        url.append('='); // Interpret null as
> > > > "no value"
> > > >                    } else if (value instanceof String) {
> > > >   @@ -372,7 +372,7 @@
> > > >                            url.append('?');
> > > >                            question = true;
> > > >                        } else
> > > >   -                        url.append('&');
> > > >   +                        url.append("&amp;");
> > > >                        url.append(URLEncoder.encode(key));
> > > >                        url.append('=');
> > > >
> > url.append(URLEncoder.encode((String) value));
> > > >   @@ -383,7 +383,7 @@
> > > >                                url.append('?');
> > > >                                question = true;
> > > >                            } else
> > > >   -                            url.append('&');
> > > >   +                            url.append("&amp;");
> > > >                            url.append(URLEncoder.encode(key));
> > > >                            url.append('=');
> > > >
> > url.append(URLEncoder.encode(values[i]));
> > > >
> > > >
> > > >
> > > >
> > >
> >
>


RE: cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java

Posted by "Deadman, Hal" <ha...@tallan.com>.
Sounds good. I don't have access to other browsers but they probably work
too.

> -----Original Message-----
> From: Craig R. McClanahan [mailto:craigmcc@apache.org]
> Sent: Friday, June 01, 2001 5:31 PM
> To: struts-dev@jakarta.apache.org
> Subject: RE: cvs commit:
> jakarta-struts/src/share/org/apache/struts/util
> RequestUtils.java
>
>
>
>
> On Fri, 1 Jun 2001, Deadman, Hal wrote:
>
> > Does this change mean that there will be a link generated
> that looks like
> > this:
> >
> > some.jsp?test=1&amp;test=2
> > instead of
> > some.jsp?test=1&test=2
> >
>
> Yes, in the generated HTML code of the page (i.e. when you do a view
> source).
>
> > If so, I don't think that will work. It doesn't work on
> Weblogic 6.0.
> > Calling getParameterValues() only sees the first value.
> >
>
> In my tests, both Netscape and IE would both send this
> hyperlink back in
> with a '&' instead, so multiple parameter values would still
> be recognized
> in the usual way.  Are there clients that don't do this?
>
> > Hal
> >
>
> Craig
>
>
> >
> > > -----Original Message-----
> > > From: craigmcc@apache.org [mailto:craigmcc@apache.org]
> > > Sent: Friday, June 01, 2001 4:22 PM
> > > To: jakarta-struts-cvs@apache.org
> > > Subject: cvs commit:
> jakarta-struts/src/share/org/apache/struts/util
> > > RequestUtils.java
> > >
> > >
> > > craigmcc    01/06/01 13:21:41
> > >
> > >   Modified:    src/share/org/apache/struts/util Tag:
> STRUTS_1_0_BRANCH
> > >                         RequestUtils.java
> > >   Log:
> > >   Generate "&amp;" instead of "&" in request URIs so that the
> > > output is still
> > >   legal XML syntax in the value returned by computeURL().
> > >
> > >   PR:  Bugzilla #1938
> > >   Submitted by :  Alessandro Vernet <av...@scdi.org>
> (also supplied
> > >   the patch - thanks!)
> > >
> > >   Revision  Changes    Path
> > >   No                   revision
> > >
> > >
> > >   No                   revision
> > >
> > >
> > >   1.14.2.2  +7 -7
> > > jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
> > >
> > >   Index: RequestUtils.java
> > >
> ===================================================================
> > >   RCS file:
> > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > estUtils.java,v
> > >   retrieving revision 1.14.2.1
> > >   retrieving revision 1.14.2.2
> > >   diff -u -r1.14.2.1 -r1.14.2.2
> > >   --- RequestUtils.java	2001/06/01 18:45:03	1.14.2.1
> > >   +++ RequestUtils.java	2001/06/01 20:21:40	1.14.2.2
> > >   @@ -1,7 +1,7 @@
> > >    /*
> > >   - * $Header:
> > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > estUtils.java,v 1.14.2.1 2001/06/01 18:45:03 craigmcc Exp $
> > >   - * $Revision: 1.14.2.1 $
> > >   - * $Date: 2001/06/01 18:45:03 $
> > >   + * $Header:
> > > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > > estUtils.java,v 1.14.2.2 2001/06/01 20:21:40 craigmcc Exp $
> > >   + * $Revision: 1.14.2.2 $
> > >   + * $Date: 2001/06/01 20:21:40 $
> > >     *
> > >     *
> > >
> ====================================================================
> > >     *
> > >   @@ -95,7 +95,7 @@
> > >     * in the Struts controller framework.
> > >     *
> > >     * @author Craig R. McClanahan
> > >   - * @version $Revision: 1.14.2.1 $ $Date: 2001/06/01 18:45:03 $
> > >   + * @version $Revision: 1.14.2.2 $ $Date: 2001/06/01 20:21:40 $
> > >     */
> > >
> > >    public class RequestUtils {
> > >   @@ -364,7 +364,7 @@
> > >                            url.append('?');
> > >                            question = true;
> > >                        } else
> > >   -                        url.append('&');
> > >   +                        url.append("&amp;");
> > >                        url.append(URLEncoder.encode(key));
> > >                        url.append('='); // Interpret null as
> > > "no value"
> > >                    } else if (value instanceof String) {
> > >   @@ -372,7 +372,7 @@
> > >                            url.append('?');
> > >                            question = true;
> > >                        } else
> > >   -                        url.append('&');
> > >   +                        url.append("&amp;");
> > >                        url.append(URLEncoder.encode(key));
> > >                        url.append('=');
> > >
> url.append(URLEncoder.encode((String) value));
> > >   @@ -383,7 +383,7 @@
> > >                                url.append('?');
> > >                                question = true;
> > >                            } else
> > >   -                            url.append('&');
> > >   +                            url.append("&amp;");
> > >                            url.append(URLEncoder.encode(key));
> > >                            url.append('=');
> > >
> url.append(URLEncoder.encode(values[i]));
> > >
> > >
> > >
> > >
> >
>

RE: cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java

Posted by "Craig R. McClanahan" <cr...@apache.org>.

On Fri, 1 Jun 2001, Deadman, Hal wrote:

> Does this change mean that there will be a link generated that looks like
> this:
> 
> some.jsp?test=1&amp;test=2
> instead of
> some.jsp?test=1&test=2
> 

Yes, in the generated HTML code of the page (i.e. when you do a view
source).

> If so, I don't think that will work. It doesn't work on Weblogic 6.0.
> Calling getParameterValues() only sees the first value.
> 

In my tests, both Netscape and IE would both send this hyperlink back in
with a '&' instead, so multiple parameter values would still be recognized
in the usual way.  Are there clients that don't do this?

> Hal
> 

Craig


> 
> > -----Original Message-----
> > From: craigmcc@apache.org [mailto:craigmcc@apache.org]
> > Sent: Friday, June 01, 2001 4:22 PM
> > To: jakarta-struts-cvs@apache.org
> > Subject: cvs commit: jakarta-struts/src/share/org/apache/struts/util
> > RequestUtils.java
> >
> >
> > craigmcc    01/06/01 13:21:41
> >
> >   Modified:    src/share/org/apache/struts/util Tag: STRUTS_1_0_BRANCH
> >                         RequestUtils.java
> >   Log:
> >   Generate "&amp;" instead of "&" in request URIs so that the
> > output is still
> >   legal XML syntax in the value returned by computeURL().
> >
> >   PR:  Bugzilla #1938
> >   Submitted by :  Alessandro Vernet <av...@scdi.org> (also supplied
> >   the patch - thanks!)
> >
> >   Revision  Changes    Path
> >   No                   revision
> >
> >
> >   No                   revision
> >
> >
> >   1.14.2.2  +7 -7
> > jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
> >
> >   Index: RequestUtils.java
> >   ===================================================================
> >   RCS file:
> > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > estUtils.java,v
> >   retrieving revision 1.14.2.1
> >   retrieving revision 1.14.2.2
> >   diff -u -r1.14.2.1 -r1.14.2.2
> >   --- RequestUtils.java	2001/06/01 18:45:03	1.14.2.1
> >   +++ RequestUtils.java	2001/06/01 20:21:40	1.14.2.2
> >   @@ -1,7 +1,7 @@
> >    /*
> >   - * $Header:
> > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > estUtils.java,v 1.14.2.1 2001/06/01 18:45:03 craigmcc Exp $
> >   - * $Revision: 1.14.2.1 $
> >   - * $Date: 2001/06/01 18:45:03 $
> >   + * $Header:
> > /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> > estUtils.java,v 1.14.2.2 2001/06/01 20:21:40 craigmcc Exp $
> >   + * $Revision: 1.14.2.2 $
> >   + * $Date: 2001/06/01 20:21:40 $
> >     *
> >     *
> > ====================================================================
> >     *
> >   @@ -95,7 +95,7 @@
> >     * in the Struts controller framework.
> >     *
> >     * @author Craig R. McClanahan
> >   - * @version $Revision: 1.14.2.1 $ $Date: 2001/06/01 18:45:03 $
> >   + * @version $Revision: 1.14.2.2 $ $Date: 2001/06/01 20:21:40 $
> >     */
> >
> >    public class RequestUtils {
> >   @@ -364,7 +364,7 @@
> >                            url.append('?');
> >                            question = true;
> >                        } else
> >   -                        url.append('&');
> >   +                        url.append("&amp;");
> >                        url.append(URLEncoder.encode(key));
> >                        url.append('='); // Interpret null as
> > "no value"
> >                    } else if (value instanceof String) {
> >   @@ -372,7 +372,7 @@
> >                            url.append('?');
> >                            question = true;
> >                        } else
> >   -                        url.append('&');
> >   +                        url.append("&amp;");
> >                        url.append(URLEncoder.encode(key));
> >                        url.append('=');
> >                        url.append(URLEncoder.encode((String) value));
> >   @@ -383,7 +383,7 @@
> >                                url.append('?');
> >                                question = true;
> >                            } else
> >   -                            url.append('&');
> >   +                            url.append("&amp;");
> >                            url.append(URLEncoder.encode(key));
> >                            url.append('=');
> >                            url.append(URLEncoder.encode(values[i]));
> >
> >
> >
> >
> 


RE: cvs commit: jakarta-struts/src/share/org/apache/struts/util RequestUtils.java

Posted by "Deadman, Hal" <ha...@tallan.com>.
Does this change mean that there will be a link generated that looks like
this:

some.jsp?test=1&amp;test=2
instead of
some.jsp?test=1&test=2

If so, I don't think that will work. It doesn't work on Weblogic 6.0.
Calling getParameterValues() only sees the first value.

Hal


> -----Original Message-----
> From: craigmcc@apache.org [mailto:craigmcc@apache.org]
> Sent: Friday, June 01, 2001 4:22 PM
> To: jakarta-struts-cvs@apache.org
> Subject: cvs commit: jakarta-struts/src/share/org/apache/struts/util
> RequestUtils.java
>
>
> craigmcc    01/06/01 13:21:41
>
>   Modified:    src/share/org/apache/struts/util Tag: STRUTS_1_0_BRANCH
>                         RequestUtils.java
>   Log:
>   Generate "&amp;" instead of "&" in request URIs so that the
> output is still
>   legal XML syntax in the value returned by computeURL().
>
>   PR:  Bugzilla #1938
>   Submitted by :  Alessandro Vernet <av...@scdi.org> (also supplied
>   the patch - thanks!)
>
>   Revision  Changes    Path
>   No                   revision
>
>
>   No                   revision
>
>
>   1.14.2.2  +7 -7
> jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
>
>   Index: RequestUtils.java
>   ===================================================================
>   RCS file:
> /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> estUtils.java,v
>   retrieving revision 1.14.2.1
>   retrieving revision 1.14.2.2
>   diff -u -r1.14.2.1 -r1.14.2.2
>   --- RequestUtils.java	2001/06/01 18:45:03	1.14.2.1
>   +++ RequestUtils.java	2001/06/01 20:21:40	1.14.2.2
>   @@ -1,7 +1,7 @@
>    /*
>   - * $Header:
> /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> estUtils.java,v 1.14.2.1 2001/06/01 18:45:03 craigmcc Exp $
>   - * $Revision: 1.14.2.1 $
>   - * $Date: 2001/06/01 18:45:03 $
>   + * $Header:
> /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
> estUtils.java,v 1.14.2.2 2001/06/01 20:21:40 craigmcc Exp $
>   + * $Revision: 1.14.2.2 $
>   + * $Date: 2001/06/01 20:21:40 $
>     *
>     *
> ====================================================================
>     *
>   @@ -95,7 +95,7 @@
>     * in the Struts controller framework.
>     *
>     * @author Craig R. McClanahan
>   - * @version $Revision: 1.14.2.1 $ $Date: 2001/06/01 18:45:03 $
>   + * @version $Revision: 1.14.2.2 $ $Date: 2001/06/01 20:21:40 $
>     */
>
>    public class RequestUtils {
>   @@ -364,7 +364,7 @@
>                            url.append('?');
>                            question = true;
>                        } else
>   -                        url.append('&');
>   +                        url.append("&amp;");
>                        url.append(URLEncoder.encode(key));
>                        url.append('='); // Interpret null as
> "no value"
>                    } else if (value instanceof String) {
>   @@ -372,7 +372,7 @@
>                            url.append('?');
>                            question = true;
>                        } else
>   -                        url.append('&');
>   +                        url.append("&amp;");
>                        url.append(URLEncoder.encode(key));
>                        url.append('=');
>                        url.append(URLEncoder.encode((String) value));
>   @@ -383,7 +383,7 @@
>                                url.append('?');
>                                question = true;
>                            } else
>   -                            url.append('&');
>   +                            url.append("&amp;");
>                            url.append(URLEncoder.encode(key));
>                            url.append('=');
>                            url.append(URLEncoder.encode(values[i]));
>
>
>
>