注意:使用EL表达式输出数据时,如果有则输出数据,如果为null则什么也不输出。
EL表达式总是放在{}中,而且前边有一个$作为前缀。
${EL表达式}
获取域中的对象可以直接使用对象名,如获取域中名字为user的对象
${user}
获取对象的属性值可以直接通过“对象.属性名”
${user.name} ${user.age} 注意:这里的属性名是get和set方法对应的属性值,并不是对象中的变量名。 比如:如果获取name属性值,那么该对象中必定要存在一个getName()方法。
获取对象的属性也可以通过“对象[“属性名”]”
${user[“name”]} ${user[“age”]}
获取Map中属性时可以以直接通过属性的key
${map.key} ${map[key]}
获取List中属性通过下标获取
${list[index]}
在指定域中获取属性
在EL表达式中如果我们直接使用属性名如:${user},它将会在四个域中由小到大依次查找。顺序:pageScope、requestScope、sessionScope、applicationScope。 也可以指定从哪个域中获取: ${ pageScope .user}:当前页面 ${requestScope.user}:当前请求 ${sessionScope.user}:当前会话 ${sessionScope.user}:当前应用
EL中的pageContext和jsp中的pageContext功能一样 作用:获取jsp中的其他8个隐含对象。 例如: 拼接url地址 http:// p a g e C o n t e x t . r e q u e s t . s e r v e r N a m e : {pageContext.request.serverName}: pageContext.request.serverName:{pageContext.request.serverPort}${pageContext.request.contextPath}/
类型:Map<String,Object> 作用:获取pageContext域中存的属性。 例如: ${pageScope.key}
类型:Map<String,Object> 作用:获取request域中存的属性。 例如: ${requestScope.key}
类型:Map<String,Object> 作用:获取session域中存的属性。 例如: ${session.key}
类型:Map<String,Object> 作用:获取application域中存的属性。 例如: ${applicationScope.key}
类型:Map<String,String> 作用:获取请求参数。 例如:http://localhost:8080/Project/resource?key=value ${param.key}
类型:Map<String,String[]> 作用:获取请求参数。 例如:http://localhost:8080/Project/resource?key=val1&key=val2 ${param.key} (得到的是一个数组)
类型:Map<String,String> 作用:获取请求头。 例如: ${header.key}
类型:Map<String,String[]> 作用:获取请求头。(一个键对应多个值)
类型:Map<String,String> 作用:获取初始化参数。
类型:Map<String,Cookie> 作用:获取Cookie。 注意:EL中的cookie对象和Servlet中的Cookie不一样,EL中的cookie就代表请求报文所有的Cookie的Map,Map的键就是Cookie的name,值就是name对应的Cookie