Author: remm Date: Thu Oct 26 16:19:13 2006 New Revision: 468186 URL: http://svn.apache.org/viewvc?view=rev&rev=468186 Log: - Some deferred expressions handling fixes.
Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java?view=diff&rev=468186&r1=468185&r2=468186 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Generator.java Thu Oct 26 16:19:13 2006 @@ -892,9 +892,9 @@ public void visit(Node.ELExpression n) throws JasperException { n.setBeginJavaLine(out.getJavaLine()); - if (!pageInfo.isELIgnored()) { + if (!pageInfo.isELIgnored() && (n.getEL() != null)) { out.printil("out.write(" - + JspUtil.interpreterCall(this.isTagFile, "${" + + JspUtil.interpreterCall(this.isTagFile, n.getType() + "{" + new String(n.getText()) + "}", String.class, n.getEL().getMapName(), false) + ");"); } else { Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java?view=diff&rev=468186&r1=468185&r2=468186 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JspConfig.java Thu Oct 26 16:19:13 2006 @@ -114,7 +114,7 @@ String isXml = null; Vector includePrelude = new Vector(); Vector includeCoda = new Vector(); - String deferedSyntaxAllowedAsLiteral = null; + String deferredSyntaxAllowedAsLiteral = null; String trimDirectiveWhitespaces = null; while (list.hasNext()) { @@ -137,7 +137,7 @@ else if ("include-coda".equals(tname)) includeCoda.addElement(element.getBody()); else if ("deferred-syntax-allowed-as-literal".equals(tname)) - deferedSyntaxAllowedAsLiteral = element.getBody(); + deferredSyntaxAllowedAsLiteral = element.getBody(); else if ("trim-directive-whitespaces".equals(tname)) trimDirectiveWhitespaces = element.getBody(); } @@ -195,7 +195,7 @@ pageEncoding, includePrelude, includeCoda, - deferedSyntaxAllowedAsLiteral, + deferredSyntaxAllowedAsLiteral, trimDirectiveWhitespaces); JspPropertyGroup propertyGroup = new JspPropertyGroup(path, extension, property); Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java?view=diff&rev=468186&r1=468185&r2=468186 ============================================================================== --- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java (original) +++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java Thu Oct 26 16:19:13 2006 @@ -664,9 +664,11 @@ // JSP.2.2 - '#{' not allowed in template text if (n.getType() == '#') { - if (pageInfo.isDeferredSyntaxAllowedAsLiteral()) + if (!pageInfo.isDeferredSyntaxAllowedAsLiteral()) { + err.jspError(n, "jsp.error.el.template.deferred"); + } else { return; - err.jspError(n, "jsp.error.el.template.deferred"); + } } // build expression @@ -1007,10 +1009,7 @@ // Attribute does not accept any expressions. // Make sure its value does not contain any. if (isExpression(n, attrs.getValue(i))) { - err - .jspError( - n, - "jsp.error.attribute.custom.non_rt_with_expr", + err .jspError(n, "jsp.error.attribute.custom.non_rt_with_expr", tldAttrs[j].getName()); } jspAttrs[i] = new Node.JspAttribute(tldAttrs[j], @@ -1197,7 +1196,9 @@ private boolean isExpression(Node n, String value) { if ((n.getRoot().isXmlSyntax() && value.startsWith("%=")) || (!n.getRoot().isXmlSyntax() && value.startsWith("<%=")) - || (value.indexOf("${") != -1 && !pageInfo.isELIgnored())) + || (value.indexOf("${") != -1 && !pageInfo.isELIgnored()) + || (value.indexOf("#{") != -1 && !pageInfo.isELIgnored() + && !pageInfo.isDeferredSyntaxAllowedAsLiteral())) return true; else return false; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]