You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ki...@apache.org on 2002/10/09 19:41:13 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler Compiler.java Generator.java JspConfig.java PageInfo.java TagFileProcessor.java Validator.java
kinman 2002/10/09 10:41:13
Modified: jasper2/src/share/org/apache/jasper/compiler Compiler.java
Generator.java JspConfig.java PageInfo.java
TagFileProcessor.java Validator.java
Log:
- Modified because of spec changes syntax and semantic of turning on and off
scripting and EL.
Revision Changes Path
1.36 +5 -2 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
Index: Compiler.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- Compiler.java 24 Sep 2002 21:24:58 -0000 1.35
+++ Compiler.java 9 Oct 2002 17:41:13 -0000 1.36
@@ -210,10 +210,13 @@
if (jspProperty.isXml() != null) {
pageInfo.setIsXmlSpecified(true);
}
+ if (jspProperty.isELIgnored() != null) {
+ pageInfo.setELIgnoredSpecified(true);
+ }
pageInfo.setIsXml(JspUtil.booleanValue(jspProperty.isXml()));
pageInfo.setPageEncoding(jspProperty.getPageEncoding());
- pageInfo.setELEnabled(JspUtil.booleanValue(jspProperty.isELEnabled()));
- pageInfo.setScriptingEnabled(JspUtil.booleanValue(jspProperty.isScriptingEnabled()));
+ pageInfo.setELIgnored(JspUtil.booleanValue(jspProperty.isELIgnored()));
+ pageInfo.setScriptingInvalid(JspUtil.booleanValue(jspProperty.isScriptingInvalid()));
pageInfo.setIncludePrelude(jspProperty.getIncludePrelude());
pageInfo.setIncludeCoda(jspProperty.getIncludeCoda());
}
1.109 +4 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
Index: Generator.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -r1.108 -r1.109
--- Generator.java 8 Oct 2002 00:45:23 -0000 1.108
+++ Generator.java 9 Oct 2002 17:41:13 -0000 1.109
@@ -826,7 +826,7 @@
public void visit(Node.ELExpression n) throws JasperException {
n.setBeginJavaLine(out.getJavaLine());
- if ( pageInfo.isELEnabled() ) {
+ if ( !pageInfo.isELIgnored() ) {
out.printil(
"out.write("
+ JspUtil.interpreterCall(this.isTagFile,
1.4 +51 -51 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java
Index: JspConfig.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JspConfig.java 24 Aug 2002 21:42:34 -0000 1.3
+++ JspConfig.java 9 Oct 2002 17:41:13 -0000 1.4
@@ -90,8 +90,8 @@
private boolean initialized = false;
private String defaultIsXml = null; // unspecified
- private String defaultIsELEnabled = "true";
- private String defaultIsScriptingEnabled = "true";
+ private String defaultIsELIgnored = null; // unspecified
+ private String defaultIsScriptingInvalid = "false";
public JspConfig(ServletContext ctxt) {
this.ctxt = ctxt;
@@ -109,7 +109,7 @@
ParserUtils pu = ParserUtils.createParserUtils(cl);
TreeNode webApp = pu.parseXMLDocument(WEB_XML, is);
if (webApp == null || !"2.4".equals(webApp.findAttribute("version"))) {
- defaultIsELEnabled = "false";
+ defaultIsELIgnored = "true";
return;
}
TreeNode jspConfig = webApp.findChild("jsp-config");
@@ -126,8 +126,8 @@
Vector urlPatterns = new Vector();
String pageEncoding = null;
- String scriptingEnabled = null;
- String elEnabled = null;
+ String scriptingInvalid = null;
+ String elIgnored = null;
String isXml = null;
Vector includePrelude = new Vector();
Vector includeCoda = new Vector();
@@ -143,10 +143,10 @@
pageEncoding = element.getBody();
else if ("is-xml".equals(tname))
isXml = element.getBody();
- else if ("el-enabled".equals(tname))
- elEnabled = element.getBody();
- else if ("scripting-enabled".equals(tname))
- scriptingEnabled = element.getBody();
+ else if ("el-ignored".equals(tname))
+ elIgnored = element.getBody();
+ else if ("scripting-invalid".equals(tname))
+ scriptingInvalid = element.getBody();
else if ("include-prelude".equals(tname))
includePrelude.addElement(element.getBody());
else if ("include-coda".equals(tname))
@@ -192,8 +192,8 @@
}
JspProperty property = new JspProperty(isXml,
- elEnabled,
- scriptingEnabled,
+ elIgnored,
+ scriptingInvalid,
pageEncoding,
includePrelude,
includeCoda);
@@ -218,8 +218,8 @@
}
if (jspProperties == null) {
- return new JspProperty(defaultIsXml, defaultIsELEnabled,
- defaultIsScriptingEnabled,
+ return new JspProperty(defaultIsXml, defaultIsELIgnored,
+ defaultIsScriptingInvalid,
null, null, null);
}
@@ -238,8 +238,8 @@
Vector includeCodas = new Vector();
JspPropertyGroup isXmlMatch = null;
- JspPropertyGroup elEnabledMatch = null;
- JspPropertyGroup scriptingEnabledMatch = null;
+ JspPropertyGroup elIgnoredMatch = null;
+ JspPropertyGroup scriptingInvalidMatch = null;
JspPropertyGroup pageEncodingMatch = null;
Iterator iter = jspProperties.iterator();
@@ -272,11 +272,11 @@
if (jp.isXml() != null) {
isXmlMatch = jpg;
}
- if (jp.isELEnabled() != null) {
- elEnabledMatch = jpg;
+ if (jp.isELIgnored() != null) {
+ elIgnoredMatch = jpg;
}
- if (jp.isScriptingEnabled() != null) {
- scriptingEnabledMatch = jpg;
+ if (jp.isScriptingInvalid() != null) {
+ scriptingInvalidMatch = jpg;
}
if (jp.getPageEncoding() != null) {
pageEncodingMatch = jpg;
@@ -312,17 +312,17 @@
isXmlMatch.getExtension().equals("*")))) {
isXmlMatch = jpg;
}
- if (jp.isELEnabled() != null &&
- (elEnabledMatch == null ||
- (elEnabledMatch.getExtension() != null &&
- elEnabledMatch.getExtension().equals("*")))) {
- elEnabledMatch = jpg;
- }
- if (jp.isScriptingEnabled() != null &&
- (scriptingEnabledMatch == null ||
- (scriptingEnabledMatch.getExtension() != null &&
- scriptingEnabledMatch.getExtension().equals("*")))) {
- scriptingEnabledMatch = jpg;
+ if (jp.isELIgnored() != null &&
+ (elIgnoredMatch == null ||
+ (elIgnoredMatch.getExtension() != null &&
+ elIgnoredMatch.getExtension().equals("*")))) {
+ elIgnoredMatch = jpg;
+ }
+ if (jp.isScriptingInvalid() != null &&
+ (scriptingInvalidMatch == null ||
+ (scriptingInvalidMatch.getExtension() != null &&
+ scriptingInvalidMatch.getExtension().equals("*")))) {
+ scriptingInvalidMatch = jpg;
}
if (jp.getPageEncoding() != null &&
(pageEncodingMatch == null ||
@@ -335,25 +335,25 @@
String isXml = defaultIsXml;
- String isELEnabled = defaultIsELEnabled;
- String isScriptingEnabled = defaultIsScriptingEnabled;
+ String isELIgnored = defaultIsELIgnored;
+ String isScriptingInvalid = defaultIsScriptingInvalid;
String pageEncoding = null;
if (isXmlMatch != null) {
isXml = isXmlMatch.getJspProperty().isXml();
}
- if (elEnabledMatch != null) {
- isELEnabled = elEnabledMatch.getJspProperty().isELEnabled();
+ if (elIgnoredMatch != null) {
+ isELIgnored = elIgnoredMatch.getJspProperty().isELIgnored();
}
- if (scriptingEnabledMatch != null) {
- isScriptingEnabled =
- scriptingEnabledMatch.getJspProperty().isScriptingEnabled();
+ if (scriptingInvalidMatch != null) {
+ isScriptingInvalid =
+ scriptingInvalidMatch.getJspProperty().isScriptingInvalid();
}
if (pageEncodingMatch != null) {
pageEncoding = pageEncodingMatch.getJspProperty().getPageEncoding();
}
- return new JspProperty(isXml, isELEnabled, isScriptingEnabled,
+ return new JspProperty(isXml, isELIgnored, isScriptingInvalid,
pageEncoding, includePreludes, includeCodas);
}
@@ -385,19 +385,19 @@
static public class JspProperty {
private String isXml;
- private String elEnabled;
- private String scriptingEnabled;
+ private String elIgnored;
+ private String scriptingInvalid;
private String pageEncoding;
private Vector includePrelude;
private Vector includeCoda;
- JspProperty(String isXml, String elEnabled,
- String scriptingEnabled, String pageEncoding,
+ JspProperty(String isXml, String elIgnored,
+ String scriptingInvalid, String pageEncoding,
Vector includePrelude, Vector includeCoda) {
this.isXml = isXml;
- this.elEnabled = elEnabled;
- this.scriptingEnabled = scriptingEnabled;
+ this.elIgnored = elIgnored;
+ this.scriptingInvalid = scriptingInvalid;
this.pageEncoding = pageEncoding;
this.includePrelude = includePrelude;
this.includeCoda = includeCoda;
@@ -407,12 +407,12 @@
return isXml;
}
- public String isELEnabled() {
- return elEnabled;
+ public String isELIgnored() {
+ return elIgnored;
}
- public String isScriptingEnabled() {
- return scriptingEnabled;
+ public String isScriptingInvalid() {
+ return scriptingInvalid;
}
public String getPageEncoding() {
1.12 +22 -13 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java
Index: PageInfo.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/PageInfo.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- PageInfo.java 4 Sep 2002 22:54:54 -0000 1.11
+++ PageInfo.java 9 Oct 2002 17:41:13 -0000 1.12
@@ -90,8 +90,9 @@
private String pageEncoding = null;
private int maxTagNesting = 0;
private boolean scriptless = false;
- private boolean scriptingEnabled = true;
- private boolean elEnabled = true;
+ private boolean scriptingInvalid = false;
+ private boolean elIgnored = false;
+ private boolean elIgnoredSpecified = false;
private boolean isXml = false;
private boolean isXmlSpecified = false; // true is there is a is-xml
// element in jsp-config
@@ -234,20 +235,28 @@
return scriptless;
}
- public void setScriptingEnabled(boolean s) {
- scriptingEnabled = s;
+ public void setScriptingInvalid(boolean s) {
+ scriptingInvalid = s;
}
- public boolean isScriptingEnabled() {
- return scriptingEnabled;
+ public boolean isScriptingInvalid() {
+ return scriptingInvalid;
}
- public void setELEnabled(boolean s) {
- elEnabled = s;
+ public void setELIgnored(boolean s) {
+ elIgnored = s;
}
- public boolean isELEnabled() {
- return elEnabled;
+ public boolean isELIgnored() {
+ return elIgnored;
+ }
+
+ public void setELIgnoredSpecified(boolean s) {
+ elIgnoredSpecified = s;
+ }
+
+ public boolean isELIgnoredSpecified() {
+ return elIgnoredSpecified;
}
public boolean isXml() {
1.29 +3 -4 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java
Index: TagFileProcessor.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TagFileProcessor.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- TagFileProcessor.java 27 Sep 2002 20:18:31 -0000 1.28
+++ TagFileProcessor.java 9 Oct 2002 17:41:13 -0000 1.29
@@ -100,8 +100,7 @@
new JspUtil.ValidAttribute("pageEncoding"),
new JspUtil.ValidAttribute("language"),
new JspUtil.ValidAttribute("import"),
- new JspUtil.ValidAttribute("isScriptingEnabled"),
- new JspUtil.ValidAttribute("isELEnabled") };
+ new JspUtil.ValidAttribute("isELIgnored") };
private static final JspUtil.ValidAttribute[] attributeDirectiveAttrs = {
new JspUtil.ValidAttribute("name", true),
1.40 +30 -43 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java
Index: Validator.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- Validator.java 7 Oct 2002 22:52:22 -0000 1.39
+++ Validator.java 9 Oct 2002 17:41:13 -0000 1.40
@@ -109,8 +109,7 @@
new JspUtil.ValidAttribute("isErrorPage"),
new JspUtil.ValidAttribute("contentType"),
new JspUtil.ValidAttribute("pageEncoding"),
- new JspUtil.ValidAttribute("isScriptingEnabled"),
- new JspUtil.ValidAttribute("isELEnabled")
+ new JspUtil.ValidAttribute("isELIgnored")
};
private boolean languageSeen = false;
@@ -223,22 +222,16 @@
pageInfo.setThreadSafe(false);
else
err.jspError(n, "jsp.error.isThreadSafe.invalid");
- } else if ("isScriptingEnabled".equals(attr)) {
- // XXX Test for multiple occurrence?
- if ("true".equalsIgnoreCase(value))
- pageInfo.setScriptingEnabled(true);
- else if ("false".equalsIgnoreCase(value))
- pageInfo.setScriptingEnabled(false);
- else
- err.jspError(n, "jsp.error.isScriptingEnabled.invalid");
- } else if ("isELEnabled".equals(attr)) {
- // XXX Test for multiple occurrence?
- if ("true".equalsIgnoreCase(value))
- pageInfo.setELEnabled(true);
- else if ("false".equalsIgnoreCase(value))
- pageInfo.setELEnabled(false);
- else
- err.jspError(n, "jsp.error.isELEnabled.invalid");
+ } else if ("isELIgnored".equals(attr)) {
+ if (! pageInfo.isELIgnoredSpecified()) {
+ // If specified in jsp-config, use it
+ if ("true".equalsIgnoreCase(value))
+ pageInfo.setELIgnored(true);
+ else if ("false".equalsIgnoreCase(value))
+ pageInfo.setELIgnored(false);
+ else
+ err.jspError(n, "jsp.error.isELIgnored.invalid");
+ }
} else if ("isErrorPage".equals(attr)) {
if (isErrorPageSeen)
err.jspError(n, "jsp.error.page.multiple.iserrorpage");
@@ -306,22 +299,16 @@
if (!"java".equalsIgnoreCase(value))
err.jspError(n, "jsp.error.language.nonjava");
pageInfo.setLanguage(value);
- } else if ("isScriptingEnabled".equals(attr)) {
- // XXX Test for multiple occurrence?
- if ("true".equalsIgnoreCase(value))
- pageInfo.setScriptingEnabled(true);
- else if ("false".equalsIgnoreCase(value))
- pageInfo.setScriptingEnabled(false);
- else
- err.jspError(n, "jsp.error.isScriptingEnabled.invalid");
- } else if ("isELEnabled".equals(attr)) {
- // XXX Test for multiple occurrence?
- if ("true".equalsIgnoreCase(value))
- pageInfo.setELEnabled(true);
- else if ("false".equalsIgnoreCase(value))
- pageInfo.setELEnabled(false);
- else
- err.jspError(n, "jsp.error.isELEnabled.invalid");
+ } else if ("isELIgnored".equals(attr)) {
+ if (! pageInfo.isELIgnoredSpecified()) {
+ // If specified in jsp-config, use it
+ if ("true".equalsIgnoreCase(value))
+ pageInfo.setELIgnored(true);
+ else if ("false".equalsIgnoreCase(value))
+ pageInfo.setELIgnored(false);
+ else
+ err.jspError(n, "jsp.error.isELIgnored.invalid");
+ }
} else if ("pageEncoding".equals(attr)) {
if (pageEncodingSeen)
err.jspError(n, "jsp.error.page.multiple.pageencoding");
@@ -620,25 +607,25 @@
}
public void visit(Node.Declaration n) throws JasperException {
- if (! pageInfo.isScriptingEnabled()) {
+ if (pageInfo.isScriptingInvalid()) {
err.jspError(n.getStart(), "jsp.error.no.scriptlets");
}
}
public void visit(Node.Expression n) throws JasperException {
- if (! pageInfo.isScriptingEnabled()) {
+ if (pageInfo.isScriptingInvalid()) {
err.jspError(n.getStart(), "jsp.error.no.scriptlets");
}
}
public void visit(Node.Scriptlet n) throws JasperException {
- if (! pageInfo.isScriptingEnabled()) {
+ if (pageInfo.isScriptingInvalid()) {
err.jspError(n.getStart(), "jsp.error.no.scriptlets");
}
}
public void visit(Node.ELExpression n) throws JasperException {
- if ( pageInfo.isELEnabled() ) {
+ if ( !pageInfo.isELIgnored() ) {
JspUtil.validateExpressions(
n.getStart(),
"${" + new String(n.getText()) + "}",
@@ -909,7 +896,7 @@
// validate expression syntax if string contains
// expression(s)
- if (value.indexOf("${") != -1 && pageInfo.isELEnabled()) {
+ if (value.indexOf("${") != -1 && !pageInfo.isELIgnored()) {
JspUtil.validateExpressions(
n.getStart(),
value,
@@ -951,7 +938,7 @@
private boolean isExpression(Node.CustomTag n, String value) {
if ((n.isXmlSyntax() && value.startsWith("%="))
|| (!n.isXmlSyntax() && value.startsWith("<%="))
- || (value.indexOf("${") != -1 && pageInfo.isELEnabled()))
+ || (value.indexOf("${") != -1 && !pageInfo.isELIgnored()))
return true;
else
return false;
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>