private String defaultIsScriptingInvalid = null;
private String defaultDeferedSyntaxAllowedAsLiteral = null;
private String defaultTrimDirectiveWhitespaces = null;
+ private String defaultDefaultContentType = null;
+ private String defaultBuffer = null;
+ private String defaultErrorOnUndeclaredNamespace = "false";
private JspProperty defaultJspProperty;
public JspConfig(ServletContext ctxt) {
Vector<String> includeCoda = new Vector<String>();
String deferredSyntaxAllowedAsLiteral = null;
String trimDirectiveWhitespaces = null;
+ String defaultContentType = null;
+ String buffer = null;
+ String errorOnUndeclaredNamespace = null;
while (list.hasNext()) {
deferredSyntaxAllowedAsLiteral = element.getBody();
else if ("trim-directive-whitespaces".equals(tname))
trimDirectiveWhitespaces = element.getBody();
+ else if ("default-content-type".equals(tname))
+ defaultContentType = element.getBody();
+ else if ("buffer".equals(tname))
+ buffer = element.getBody();
+ else if ("error-on-undeclared-namespace".equals(tname))
+ errorOnUndeclaredNamespace = element.getBody();
}
if (urlPatterns.size() == 0) {
includePrelude,
includeCoda,
deferredSyntaxAllowedAsLiteral,
- trimDirectiveWhitespaces);
+ trimDirectiveWhitespaces,
+ defaultContentType,
+ buffer,
+ errorOnUndeclaredNamespace);
JspPropertyGroup propertyGroup =
new JspPropertyGroup(path, extension, property);
defaultIsELIgnored,
defaultIsScriptingInvalid,
null, null, null, defaultDeferedSyntaxAllowedAsLiteral,
- defaultTrimDirectiveWhitespaces);
+ defaultTrimDirectiveWhitespaces,
+ defaultDefaultContentType,
+ defaultBuffer,
+ defaultErrorOnUndeclaredNamespace);
initialized = true;
}
}
JspPropertyGroup pageEncodingMatch = null;
JspPropertyGroup deferedSyntaxAllowedAsLiteralMatch = null;
JspPropertyGroup trimDirectiveWhitespacesMatch = null;
+ JspPropertyGroup defaultContentTypeMatch = null;
+ JspPropertyGroup bufferMatch = null;
+ JspPropertyGroup errorOnUndeclaredNamespaceMatch = null;
Iterator<JspPropertyGroup> iter = jspProperties.iterator();
while (iter.hasNext()) {
trimDirectiveWhitespacesMatch =
selectProperty(trimDirectiveWhitespacesMatch, jpg);
}
+ if (jp.getDefaultContentType() != null) {
+ defaultContentTypeMatch =
+ selectProperty(defaultContentTypeMatch, jpg);
+ }
+ if (jp.getBuffer() != null) {
+ bufferMatch = selectProperty(bufferMatch, jpg);
+ }
+ if (jp.isErrorOnUndeclaredNamespace() != null) {
+ errorOnUndeclaredNamespaceMatch =
+ selectProperty(errorOnUndeclaredNamespaceMatch, jpg);
+ }
}
String isELIgnored = defaultIsELIgnored;
String isScriptingInvalid = defaultIsScriptingInvalid;
String pageEncoding = null;
- String isDeferedSyntaxAllowedAsLiteral = defaultDeferedSyntaxAllowedAsLiteral;
+ String isDeferedSyntaxAllowedAsLiteral =
+ defaultDeferedSyntaxAllowedAsLiteral;
String isTrimDirectiveWhitespaces = defaultTrimDirectiveWhitespaces;
+ String defaultContentType = defaultDefaultContentType;
+ String buffer = defaultBuffer;
+ String errorOnUndelcaredNamespace = defaultErrorOnUndeclaredNamespace;
if (isXmlMatch != null) {
isXml = isXmlMatch.getJspProperty().isXml();
isTrimDirectiveWhitespaces =
trimDirectiveWhitespacesMatch.getJspProperty().isTrimDirectiveWhitespaces();
}
+ if (defaultContentTypeMatch != null) {
+ defaultContentType =
+ defaultContentTypeMatch.getJspProperty().getDefaultContentType();
+ }
+ if (bufferMatch != null) {
+ buffer = bufferMatch.getJspProperty().getBuffer();
+ }
+ if (errorOnUndeclaredNamespaceMatch != null) {
+ errorOnUndelcaredNamespace =
+ errorOnUndeclaredNamespaceMatch.getJspProperty().isErrorOnUndeclaredNamespace();
+ }
return new JspProperty(isXml, isELIgnored, isScriptingInvalid,
pageEncoding, includePreludes, includeCodas,
- isDeferedSyntaxAllowedAsLiteral, isTrimDirectiveWhitespaces);
+ isDeferedSyntaxAllowedAsLiteral, isTrimDirectiveWhitespaces,
+ defaultContentType, buffer, errorOnUndelcaredNamespace);
}
/**
private Vector<String> includeCoda;
private String deferedSyntaxAllowedAsLiteral;
private String trimDirectiveWhitespaces;
+ private String defaultContentType;
+ private String buffer;
+ private String errorOnUndeclaredNamespace;
public JspProperty(String isXml, String elIgnored,
String scriptingInvalid, String pageEncoding,
Vector<String> includePrelude, Vector<String> includeCoda,
String deferedSyntaxAllowedAsLiteral,
- String trimDirectiveWhitespaces) {
+ String trimDirectiveWhitespaces,
+ String defaultContentType,
+ String buffer,
+ String errorOnUndeclaredNamespace) {
this.isXml = isXml;
this.elIgnored = elIgnored;
this.includeCoda = includeCoda;
this.deferedSyntaxAllowedAsLiteral = deferedSyntaxAllowedAsLiteral;
this.trimDirectiveWhitespaces = trimDirectiveWhitespaces;
+ this.defaultContentType = defaultContentType;
+ this.buffer = buffer;
+ this.errorOnUndeclaredNamespace = errorOnUndeclaredNamespace;
}
public String isXml() {
public String isTrimDirectiveWhitespaces() {
return trimDirectiveWhitespaces;
}
+
+ public String getDefaultContentType() {
+ return defaultContentType;
+ }
+
+ public String getBuffer() {
+ return buffer;
+ }
+
+ public String isErrorOnUndeclaredNamespace() {
+ return errorOnUndeclaredNamespace;
+ }
}
}
private Vector<String> includeCoda;
private Vector<String> pluginDcls; // Id's for tagplugin declarations
+ // JSP 2.2
+ private boolean errorOnUndeclaredNamepsace = false;
PageInfo(BeanRepository beanRepository, String jspFile) {
if ("none".equalsIgnoreCase(value))
buffer = 0;
else {
- if (value == null || !value.endsWith("kb"))
- err.jspError(n, "jsp.error.page.invalid.buffer");
+ if (value == null || !value.endsWith("kb")) {
+ if (n == null) {
+ err.jspError("jsp.error.page.invalid.buffer");
+ } else {
+ err.jspError(n, "jsp.error.page.invalid.buffer");
+ }
+ }
try {
Integer k = new Integer(value.substring(0, value.length()-2));
buffer = k.intValue() * 1024;
} catch (NumberFormatException e) {
- err.jspError(n, "jsp.error.page.invalid.buffer");
+ if (n == null) {
+ err.jspError("jsp.error.page.invalid.buffer");
+ } else {
+ err.jspError(n, "jsp.error.page.invalid.buffer");
+ }
}
}
public Set<String> getVarInfoNames() {
return varInfoNames;
}
+
+ public boolean isErrorOnUndeclaredNamespace() {
+ return errorOnUndeclaredNamepsace;
+ }
+
+ public void setErrorOnUndeclaredNamespace(
+ boolean errorOnUndeclaredNamespace) {
+ this.errorOnUndeclaredNamepsace = errorOnUndeclaredNamespace;
+ }
}