Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48668
authorkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 7 Mar 2010 02:43:12 +0000 (02:43 +0000)
committerkkolinko <kkolinko@13f79535-47bb-0310-9956-ffa450edef68>
Sun, 7 Mar 2010 02:43:12 +0000 (02:43 +0000)
commit8937ec41dedbd1c13c5bb27c9864adcfae2d9363
treee13e2e6022995cea78861788dcf0fe4e8b306332
parenta02e085e6bf186bd7132dd0dc0555a00d370a163
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=48668
Fix remaining issues in BZ48668
The idea behind this change is to make ELParser aware about isDeferredAsLiteral option.
Before this change ELParser was used to parse an attribute regardless of isELIgnored or isDeferredSyntaxAllowedAsLiteral values. With this change we do not use ELParser when isELIgnored is true and ELParser does not parse '#{' in expressions when isDeferredSyntaxAllowedAsLiteral is true.
It simplified the code in many places.
Also, servlet specification version from web.xml and JSP specification version from TLD file are now taken into account when determining the default values for isELIgnored and isDeferredSyntaxAllowedAsLiteral. As far as I understand the code, previously only isELIgnored was determined by the servlet specification version.

TstParser.java, bug48668a.jsp:
I reenabled the tests that now pass with these changes applied.

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@919914 13f79535-47bb-0310-9956-ffa450edef68
java/org/apache/jasper/compiler/Compiler.java
java/org/apache/jasper/compiler/ELParser.java
java/org/apache/jasper/compiler/JspConfig.java
java/org/apache/jasper/compiler/Validator.java
java/org/apache/jasper/resources/LocalStrings.properties
test/org/apache/jasper/compiler/TestParser.java
test/webapp/bug48668a.jsp