因为JSP页面中嵌入Java脚本以实现复杂功能,大量的java脚本使JSP页面难以维护。
在JSP哑谜那种的java代码逐渐简化的趋势下,一种类似于javascript的语言——JSP表达式语言应运而生。
它可以在页面上生成动态内容,并代替JSP脚本元素。
表达式语言(ExpressionLanguage,EL)是一种简单的数据访问语言
基本的语法格式为
${表达式}
当JSP引擎在解析JSP页面的过程中遇到"${表达式}" 格式的字符序列时,将调用EL引擎解释并执行"{ }"中的表达式。
EL表达式的特点
1.可以使用属性名方便的引用存储在各种域范围中的属性
2.可以使用${JavaBean.property}的形式访问作用域中javaBean对象的属性
3.可以使用一些列的隐含对象,如pageContext对象、request对象和session等,EL表达式可以通过这些隐含对象访问JSP页面中的各种信息
EL表达式访问变量:
//传入变量
pageContext.setAttribute("name",被访问的变量 );
//正常访问
pageContext.getAttribute("name");
//通过EL表达式访问
${name}
只需要在表达式中输入对象名即可。
使用EL表达式访问JavaBean
例名:javaBean
属性:propertyName
//第一种访问方法
${JavaBean.propertyName}
//第二种访问方法
${JavaBean["propertyName"]}
要访问的JavaBean必须位于作用于属性范围内
禁用EL表达式
JSP2.0以前没有EL表达式语言,所以如果在JSP2.0以前的JSP文件包含了"${}"之类的字符序列,JSP引擎会将他们作为普通的字符文本处理。
在表达式前加"\",JSP引擎会将他们作为普通字符文本处理
禁用服务器的EL表达式后,JSP引擎会将他们作为普通字符文本处理
<%@ page isELIgnored="true" %>