EL经常和JSTL一起使用,但是EL又可以单独使用,全称是Expression Language
1. EL执行时间
如果js脚本在jsp文件中,用el表达式有效果 aler("${XXXX }");
如果是单独的js文件,el表达式是不起作用的.
结论:EL表达式是在服务端执行的,服务端执行完成后再传给客户端的,
js是在客户端执行的,el在js前就被执行了。
2. EL使用条件
只要 ●支持Servlet2.4或者JSP2.0的容器,都可以在 ●JSP网页中直接使用EL,不需导入任何其他的包。
3. EL优势
★方便存取数据
★减少jsp中的java代码
★EL的语法很简单,最大的特点就是使用上很方便。所有的EL都是以 ${ 为起始、以 } 为结尾的。
4. EL搜索变量的步骤
系统自动寻找的步骤是:pageScope、requestScope、sessionScope、applicationScope。
5. 几个重要的EL隐含对象
pageScope,取得page范围的属性名称所对应的值。
requestScope,取得request范围的属性名称所对应的值。
sessionScope,取得session范围的属性名称所对应的值。
applicationScope,取得application范围的属性名称所对应的值。
param,如同ServletReqest.getParameter(String name)。
cookie,如同HttpServletRequest.getCookie()。
initParam,如同ServletContext.getInitParameter(String name)。
6. EL提供 . 和 [ ] 两种运算符来存取数据。
● 下面两种所代表的意思是一样的。
${sessionScope.user.sex}等于${sessionScope.user[“sex”]}
● 但是使用 [ ] 的范围更广,因为 [ ] 中还可以是变量,比如:
String str = “sex”;
${sessionScope.user[str]}
● . 和 [ ] 的混合使用,获取集合中元素的值,例如:
${sessionScope.shoppingCart[0].price}表示结果为shoppingCart中第一项物品的价格。