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]

Reply via email to