JSP中的EL表达式
EL表达式:用于替代jsp页面中的Java代码
优势:
不需要像java一样,
进行强制类型转换,
不需要处理null在EL中直接显示为空白
简洁
不需要<%%>表签,直接嵌入到jsp代码中
防止代码参杂
用法:
${域对象.域对象中的属性.属性.属性.,,,,,,,,,,,,,,,,,,,,,,,,,}
<不能包括特殊字符如.>
or
${域对象['域对象中的属性']['属性']['属性'].,,,,,,,,,,,,,,,,,,,,,,,,,}
<能包括特殊字符如.><br/>
<可获取变量值 ,这时[]中不加引号'' 加''认为是常量>
<可获取数组元素 stu[1],stu[2].......>
获取Map属性
${域对象.域对象中的map对象.属性名}
or
${域对象.域对象中的map对象['属性名']}
可直接在EL中计算:
gt ne eq le ge lt
${3 > 2},${3 != 2},${3 == 2},${3 <= 2},${3 >= 2},${3 < 2},
or and not
${3 || 2},${3 && 2}${3 ! 2},
Empty运算符:用于判断一个值是否存在 存在有值返回false / 为null或其他情况或不存在反回true
${empty 域对象.域对象中的map对象.属性名}
EL表达式的隐式对象:
a.作用域访问对象(EL 域对象)*
pageScope requestScope sessionScope applicationScope
若用El取值时不指定域对象,则根据从 小范围 到 大范围 的顺序 依次取值
如: ${requestScope.域对象中的map对象['属性名']}
b.参数访问对象
用于获取表单数据${param} ${oaramValues}
对应于 repuest.getParameter() repuest.getParameterValues()
单个表单数据 表单数组数据<复选框..>
如: ${param.数据名} ${param.数组数据名}
也可获取超链接中传的值,地址栏中的值
c.JSP隐式对象
pageContext
通过此pageContext对象可拿到JSP中任意常见隐式对象
如: ${pageContext.session.下一个方法或对象...} <不是.getSession()>