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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]