Given: <c:out value='${"\""}'/> -or- <c:out value="${'\''}"/> -or- <c:out value="${'\\'}"/> Results in: An error occurred while parsing custom action attribute "value" with value "${"""}": Encountered """ An error occurred while parsing custom action attribute "value" with value "${'''}": Encountered "'", An error occurred while parsing custom action attribute "value" with value "${'\'}" Encountered "'"
Remember that the normal JSP attribute escapes are applied before the EL is evaluated. So if you say value='${"\""}', the JSP engine converts \" to " before it gets to the EL evaluator, so that it looks like '${"""}', which is an illegal EL expression.