When using the EL expression in JSP, You need to identify isELIgnored = "false". Otherwise, the EL expression is compiled as a normal string and the correct value is not displayed on the page. [Html] <% @ page language = "java" contentType = "text/html; charset = UTF-8 "pageEncoding =" UTF-8 "isELIgnored =" false "%> <% @ taglib uri =" http://java.sun.com/jsp/jstl/core "Prefix =" c "%> <c: out value =" $ {param. para1} "default =" hello world "> you can see this in the apache-tomcat-6.0.35-src: [java] protected String [] generateJava () throws Exception {String [] smapStr = null; long t1, t2, t3, t4; t1 = t2 = t3 = t4 = 0; if (log. isDebugEnabled () {t1 = System. currentTimeMillis ();} // Setup page info area pageInfo = new PageInfo (new BeanRepository (ctxt. getClassLoader (), errDispatcher ), Ctxt. getJspFile (); JspConfig jspConfig = options. getJspConfig (); JspConfig. jspProperty jspProperty = jspConfig. findJspProperty (ctxt. getJspFile ();/** If the current uri is matched by a pattern specified in a * jsp-property-group in web. xml, initialize pageInfo with those * properties. */if (jspProperty. isELIgnored ()! = Null) {pageInfo. setELIgnored (JspUtil. booleanValue (jspProperty. isELIgnored ()));}