On 07/10/2008, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> Author: markt
> Date: Tue Oct 7 12:10:51 2008
> New Revision: 702587
>
> URL: http://svn.apache.org/viewvc?rev=702587&view=rev
> Log:
> EG confirmed that attribute values should be fully escaped, including any
> EL. Note this does not fix bug 45451.
>
> Modified:
> tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
>
> Modified: tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
> URL:
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Parser.java?rev=702587&r1=702586&r2=702587&view=diff
>
> ==============================================================================
> --- tomcat/trunk/java/org/apache/jasper/compiler/Parser.java (original)
> +++ tomcat/trunk/java/org/apache/jasper/compiler/Parser.java Tue Oct 7
> 12:10:51 2008
> @@ -265,7 +265,6 @@
> private String parseQuoted(Mark start, String tx, char quote)
> throws JasperException {
> StringBuffer buf = new StringBuffer();
> - boolean possibleEL = tx.contains("${");
> int size = tx.length();
> int i = 0;
> while (i < size) {
> @@ -287,20 +286,10 @@
> }
> } else if (ch == '\\' && i + 1 < size) {
> ch = tx.charAt(i + 1);
> - if (ch == '\\' || ch == '\"' || ch == '\'') {
> - if (pageInfo.isELIgnored() || !possibleEL) {
> - // EL is not enabled or no chance of EL
> - // Unescape these now
> - buf.append(ch);
> - i += 2;
> - } else {
> - // EL is enabled and ${ appears in value
> - // EL processing will escape these
> - buf.append('\\');
> - buf.append(ch);
> - i += 2;
> - }
> - } else if (ch == '>') {
> + if (ch == '\\' || ch == '\"' || ch == '\'' || (ch == '>')) {
> + // \ " and ' are always unescaped regardless of if they
> are
> + // or outside of an EL expression. JSP.1.6 takes
> precedence
> + // over JSP.1.3.10 (confirmed with EG)
The sentence:
\ " and ' are always unescaped regardless of if they are or outside of
an EL expression.
seems a bit odd to me - at least one word is missing.
Might be better as:
" and ' are always unescaped regardless of whether they are inside or
outside an EL expression.
> buf.append(ch);
> i += 2;
> } else {
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]