el:
jsp的内置表达式语言,从jsp2.0开始.用来替代<%=..%>
作用:
1.获取域中数据 ★
2.执行运算 ★
3.获取常见的web对象
4.调用java的方法
格式:
${el表达式}
获取域中数据:★
注意:★若属性名中出现了"."|"+"|"-"等特殊符号,需要使用scope获取
例如:
${requestScope["arr.age"] }
获取简单数据
${pageScope|requestScope|sessionScope|applicationScope.属性名}
底层使用便捷查找实现
${属性名}:依次从pageContext,request,session,application查找指定属性,若查找到返回值,结束该次查找若查找不到,返回""
el获取简单数据:
获取复杂数据
获取数组中的数据
${域中的名称[index]}
获取list中的数据
${域中的名称[index]}
获取map中的数据
${域中的名称.键名}
el获取复杂数据:
javabean导航
java语言编写的一个可重用的组件,狭义上来说就是我们编写的一个普通的java类 例如:User Person
javabean规范:
1.必须是一个公共的具体的类 public class
2.提供私有的字段 private String id;//id称之为字段
3.提供公共访问字段的方法 get|set|is方法
public String getId(){..}
一旦有公共的方法之后,get|set|is之后的内容,将首字母小写,将这个东西称之为bean属性,id就是一个bean属性
4.提供一个无参的构造器
5.一般实现序列化接口 serializable
${域中javabean名称.bean属性}
执行运算:
四则运算 关系(>..) 逻辑(&& ||)
注意:
+:只能进行加法运算,字符串形式数字可以进行加法运算.(不是数字字符无法运算会报错)
empty:判断一个容器的长度是否为0(array set list map),还可以判断一个对象是否为空
${empty 域中的对象名称}
三元运算符
el的内置对象(了解)11个
pageScoperequestScope
sessionScope
applicationScope
param
paramValues
header
haederValues
initParam
cookie★
pageContext★
注意:
除了pagecontext其余对象获取的全是map集合
了解:和参数相关的el内置对象
param
paramValues
了解:和请求头相关的el内置对象
header
haederValues
了解:和全局初始化参数相关的el内置对象
initParam
cookie内置对象:
${cookie} 获取map{key=Cookie}
例如:创建cookie
Cookie c=new Cookie("username","tom");
通过${cookie}获取相当于
{username=new Cookie("username","tom")}
相当于map的key是cookie的键
map的value是当前cookie
若项获取名称username的cookie的value值(获取tom)
${cookie.username.value}--javabean导航
注意:
java中Cookie的api
getName():获取cookie的名称
getValue():获取cookie的value值
我们称name和value是cookie的bean属性
使用cookie内置对象:
${cookie.给cookie起名字.value}
例如:
获取jsession的值
${cookie.JSESSIONID.value}
el获取cookie属性:
pageContext:获取不是map集合,相当于jsp的pageContext内置对象
在jsp页面中获取项目名
${pageContext.request.contextPath}