Compile JSP tomcat JSTL error functions "org.apache.taglibs.standard.lang.jstl.parser.ParseException: EL functions are not supported"
Problem:
Some fairly standard use of JSTL:
<c:out value="${fn:escapeXml(myvalue)}" />
i.e. using a function in the value field of the c:out tag gives the error:
org.apache.jasper.JasperException: <h3>Validation error messages from TagLibraryValidator for c</h3> <p>41: tag = 'out' / attribute = 'value': An error occurred while parsing custom action attribute "value" with value "${fn:escapeXml(myvalue)}": org.apache.taglibs.standard.lang.jstl.parser.ParseException: EL functions are not supported.</p>
Solution:
It's the old mismatched spec issue again. Same solution as described in According to TLD or attribute directive in tag file, attribute X does not accept any expressions - namely, fix the schema reference in the web.xml and make sure the JSP has the right tablib uri reference.