kinman 01/10/05 15:21:09 Modified: jasper/src/share/org/apache/jasper/compiler Tag: tomcat_40_branch ForwardGenerator.java Log: PR: 3779 - Did some code cleanup. - Values of <jsp:param> are URL encoded. Revision Changes Path No revision No revision 1.4.4.1 +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.4.4.1 diff -u -r1.4 -r1.4.4.1 --- ForwardGenerator.java 2000/11/30 21:47:52 1.4 +++ ForwardGenerator.java 2001/10/05 22:21:09 1.4.4.1 @@ -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.4.4.1 2001/10/05 22:21:09 kinman Exp $ + * $Revision: 1.4.4.1 $ + * $Date: 2001/10/05 22:21:09 $ * * ==================================================================== * @@ -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 = '&'; } } }