bundles/org.apache.jasper.glassfish/src/org/apache/jasper/compiler/ELParser.java
private String skipUntilEL() {
	char prev = 0;
	StringBuilder buf = new StringBuilder();
	while (hasNextChar()) {
	    char ch = nextChar();
	    if (prev == '\\') {
		prev = 0;
		if (ch == '\\') {
		    buf.append('\\');
		    if (!escapeBS)
			prev = '\\';
		} else if (ch == '$' || ch == '#') {
		    buf.append(ch);
		}
		// else error!
	    } else if (prev == '$' || prev == '#') {
		if (ch == '{') {
                    this.isDollarExpr = (prev == '$');
		    prev = 0;
		    break;
		} 
		buf.append(prev);
                if (ch == '\\' || ch == '$' || ch == '#') {
                    prev = ch;
                } else {
                    buf.append(ch);
                }
	    } else if (ch == '\\' || ch == '$' || ch == '#') {
		prev = ch;
	    } else {
		buf.append(ch);
	    }
	}
	if (prev != 0) {
	    buf.append(prev);
	}
	return buf.toString();
    }
private String skipUntilEL() {
	char prev = 0;
	StringBuilder buf = new StringBuilder();
	while (hasNextChar()) {
	    char ch = nextChar();
	    if (prev == '\\') {
		prev = 0;
		if (ch == '\\') {
		    buf.append('\\');
		    if (!escapeBS)
			prev = '\\';
		} else if (ch == '$' || ch == '#') {
		    buf.append(ch);
		}
		// else error!
	    } else if (prev == '$' || prev == '#') {
		if (ch == '{') {
                    this.isDollarExpr = (prev == '$');
		    prev = 0;
		    break;
		} 
		buf.append(prev);
                if (ch == '\\' || ch == '$' || ch == '#') {
                    prev = ch;
                } else {
                    buf.append(ch);
                }
	    } else if (ch == '\\' || ch == '$' || ch == '#') {
		prev = ch;
	    } else {
		buf.append(ch);
	    }
	}
	if (prev != 0) {
	    buf.append(prev);
	}
	return buf.toString();
    }
private String skipUntilEL ( ) { char prev = 0 ; StringBuilder buf = new StringBuilder ( ) ; while ( hasNextChar ( ) ) { char ch = nextChar ( ) ; if ( prev == ' ' ) { prev = 0 ; if ( ch == ' ' ) { buf . append ( ' ' ) ; if ( ! escapeBS ) prev = ' ' ; } else if ( ch == ' ' || ch == ' ' ) { buf . append ( ch ) ; } // else error! } else if ( prev == ' ' || prev == ' ' ) { if ( ch == ' ' ) { this . isDollarExpr = ( prev == ' ' ) ; prev = 0 ; break ; } buf . append ( prev ) ; if ( ch == ' ' || ch == ' ' || ch == ' ' ) { prev = ch ; } else { buf . append ( ch ) ; } } else if ( ch == ' ' || ch == ' ' || ch == ' ' ) { prev = ch ; } else { buf . append ( ch ) ; } } if ( prev != 0 ) { buf . append ( prev ) ; } return buf . toString ( ) ; }
Skip until an EL expression ('${' or '#{') is reached, allowing escape
sequences '\\', '\$', and '\#'.
@return The text string up to the EL expression
Skip until an EL expression ( $ { or # { ) is reached allowing escape sequences \\ \ $ and \ # .