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]