一、为什么需要EL表达式
1.jsp页面嵌入大量java代码
2.简化页面开发
3.从作用域取值显示不方便
二、EL表达式的语法
1.复杂对象的输出
//可以用点号操作符
${stu.stuName}
//可以用中括号
${stu["stuName"]}
//数组或者集合可以用下标
${names[0]}
2.可以进行简单的计算和逻辑判断
${age+1}
${age<22}
3.empty操作符
- 判断对象是否为空
- 判断字符串是否为空字符串
- 判断集合或数组长度是否为零
4.不能直接输出jsp页面临时变量的值,只能输出特定作用域的值
三、EL表达式中的隐式对象
1.pageScope==>输出pageContext作用域的值
2.requestScope==>输出request作用域的值
3.sessionScope==>输出session作用域
4.applicationScope==>输出ServletContext作用域中的值
5.如果未指定作用域的取值范围,则默认从小到大,一旦找到,就结束
四、JSTL
1.JSTL:jsp standard tag library JSP标准标签库
2.EL表达式不能做流程控制,jstl可以互补
3.减少jsp页面java代码的嵌入,和EL表达式联合使用
4.jstl的使用
- 导入jar包(jstl.jar,standard.jar)
- 在页面引入标签库
- 在页面使用标签