You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2001/10/06 00:17:33 UTC

cvs commit: jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler ForwardGenerator.java

kinman      01/10/05 15:17:33

  Modified:    jasper/src/share/org/apache/jasper/compiler
                        ForwardGenerator.java
  Log:
  PR: 3779
  
  - Did some code cleanup.
  - Values of <jsp:param> are URL encoded.
  
  Revision  Changes    Path
  1.5       +13 -26    jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/ForwardGenerator.java
  
  Index: ForwardGenerator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/ForwardGenerator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ForwardGenerator.java	2000/11/30 21:47:52	1.4
  +++ ForwardGenerator.java	2001/10/05 22:17:33	1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/ForwardGenerator.java,v 1.4 2000/11/30 21:47:52 pierred Exp $
  - * $Revision: 1.4 $
  - * $Date: 2000/11/30 21:47:52 $
  + * $Header: /home/cvs/jakarta-tomcat-4.0/jasper/src/share/org/apache/jasper/compiler/ForwardGenerator.java,v 1.5 2001/10/05 22:17:33 kinman Exp $
  + * $Revision: 1.5 $
  + * $Date: 2001/10/05 22:17:33 $
    *
    * ====================================================================
    * 
  @@ -63,6 +63,7 @@
   
   import java.util.Hashtable;
   import java.util.Enumeration;
  +import java.net.URLEncoder;
   
   import org.apache.jasper.JasperException;
   import org.apache.jasper.Constants;
  @@ -101,8 +102,7 @@
       }
       
       public void generate(ServletWriter writer, Class phase) {
  -	boolean initial = true;
  -	String sep = "?";	
  +	char sep = '?';	
           writer.println("if (true) {");
           writer.pushIndent();
           writer.println("out.clear();");
  @@ -113,29 +113,16 @@
   	    while (en.hasMoreElements()) {
   		String key = (String) en.nextElement();
   		String []value = (String []) params.get(key);
  -		if (initial == true) {
  -		    sep = "?";
  -		    initial = false;
  -		} else sep = "&";
   		
  -		if (value.length == 1 && JspUtil.isExpression(value[0], isXml))
  +		for (int i = 0; i < value.length; i++) {
  +		    String v;
  +		    if (JspUtil.isExpression(value[i], isXml))
  +			v = JspUtil.getExpr(value[i], isXml);
  +		    else
  +			v = "\"" + URLEncoder.encode(value[i]) + "\"";
   		    writer.println("_jspx_qfStr = _jspx_qfStr + \"" + sep +
  -				   key + "=\" + " + JspUtil.getExpr(value[0], isXml) + ";");
  -		else {
  -		    if (value.length == 1)
  -			writer.println("_jspx_qfStr = _jspx_qfStr + \"" + sep +
  -				       key + "=\" + \"" + value[0] + "\";");			
  -		    else {
  -			for (int i = 0; i < value.length; i++) {
  -			    if (!JspUtil.isExpression(value[i], isXml))
  -				writer.println("_jspx_qfStr = _jspx_qfStr + \"" + sep +
  -					       key + "=\" + \"" + value[i] + "\";");
  -			    else
  -				writer.println("_jspx_qfStr = _jspx_qfStr + \"" + sep +
  -					       key + "=\" +" + JspUtil.getExpr(value[i], isXml)+ ";");
  -			    if (sep.equals("?")) sep = "&";			    
  -			}
  -		    }
  +			       key + "=\" +" + v + ";");
  +		    sep = '&';			    
   		}
   	    }
   	}