You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2006/11/01 02:20:18 UTC

svn commit: r469739 - /tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java

Author: remm
Date: Tue Oct 31 17:20:18 2006
New Revision: 469739

URL: http://svn.apache.org/viewvc?view=rev&rev=469739
Log:
- Adjust the tests for deferred expressions evaluation.

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/Validator.java

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=469739&r1=469738&r2=469739
==============================================================================
--- 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 Tue Oct 31 17:20:18 2006
@@ -664,7 +664,9 @@
 
             // JSP.2.2 - '#{' not allowed in template text
             if (n.getType() == '#') {
-                if (!pageInfo.isDeferredSyntaxAllowedAsLiteral()) {
+                if (!pageInfo.isDeferredSyntaxAllowedAsLiteral()
+                        && (tagInfo == null 
+                                || ((tagInfo != null) && !tagInfo.getTagLibrary().getRequiredVersion().equals("2.0")))) {
                     err.jspError(n, "jsp.error.el.template.deferred");
                 } else {
                     return;
@@ -982,9 +984,18 @@
                             && (attrs.getURI(i) == null
                                     || attrs.getURI(i).length() == 0 || attrs
                                     .getURI(i).equals(n.getURI()))) {
-                        if (tldAttrs[j].canBeRequestTime()
-                                || tldAttrs[j].isDeferredMethod() // JSP 2.1
-                                || tldAttrs[j].isDeferredValue()) { // JSP 2.1
+                        boolean el = true;
+                        boolean deferredValue = false;
+                        if (!tagInfo.getTagLibrary().getRequiredVersion().equals("2.0") 
+                                && attrs.getValue(i).indexOf("#{") != -1) {
+                            el = false;
+                            if (!pageInfo.isELIgnored() && !pageInfo.isDeferredSyntaxAllowedAsLiteral()) {
+                                deferredValue = true;
+                            }
+                        }
+                        if ((el && tldAttrs[j].canBeRequestTime())
+                                || (deferredValue && tldAttrs[j].isDeferredMethod()) // JSP 2.1
+                                || (deferredValue && tldAttrs[j].isDeferredValue())) { // JSP 2.1
                             Class expectedType = String.class;
                             try {
                                 String typeStr = tldAttrs[j].getTypeName();



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org