一、什么是EL表达式?
EL(Expression Language,表达式语言)是在JSTL1.0规范中引入的,作为JSTL的组成部分。在JSTL1.1规范中,JSP2.0容器已经能够独立的理解任何EL表达式,EL可以独立的出现在JSP页面的任何角落
EL不仅可以用来取代难以维护的Java脚本或笨拙的<jsp.userBean>标签,更为重要的是表达式语言支持以下功能:
1.精确地访问存储对象
2.Bean属性的简略记法:点号记法与数组中括号记法
3.对集合的简单访问
4.对请求参数,Cooike和其他请求数据的简单访问
5.条件性输出
6.自动类型转换
7.控制取代错误
二、EL的语法:
1.${ EL exprission}
2.${ bean.name}或${ bean['name']}
功能主要用于在JSP页面输出数据,类似:
1.脚本元素<jsp:getProperty/>
2.表达式脚本<%= %>
EL表达式的出现主要用于简化JSP页面对Servlet共享数据的访问
EL表达式:${sessionScope.user.sex}
JSP Scriptlet:User user =(User)sesssion.getAttribute("user");
String sex =user.getSex();
三、EL表达式的关系运算符
三目运算法
${1>2?1:2 } 2
${1<2?1:2 } 1
${1>2? (3>5?'a':'b'):(3>5?'c':'d') } d
逻辑运算符
${true&&true} or ${true and true } true
${true&&false} or ${true and false } false
${true||true} or ${true or true } true
${true||false} or ${true or false } false
${!true }or ${not true }
空值判断
${empty x} true
关系运算符
${3<2 } or ${3 lt 2 } false
${3>2 } or ${3 gt 2 } true
${3>=2 } or ${3 ge 2 } true
${3==2 } or ${3 eq 3 } true
${3+2} 5
${3-2} 1
${3*2} 6
${3/2} 1.5
${3 mod 2} 1
四、EL隐式标签
五、EL使用条件
六、通用标签<c:set>
通用标签库用于在JSP页面里面操作JSP页面内的作用域变量
<c:set>标签用于在某个作用域(page、request、session和application)中设置变量
如果变量不存在,则会创建它,并给变量赋值
如果变量存在,则会重新赋值,覆盖原有数据
var: 指定变量的名称;
valu:变量的值域或EL表达式的值
scope:指定变量的存储作用域,默认范围为page
target:指定将要设置属性的JavaBean
property:target实例对象的属性名称