jsp
EL表达式
是为了简化咱们的jsp代码,具体一点就是为了简化在jsp里面写的那些java代码。
- 写法格式
${表达式 }
如果从作用域中取值,会先从小的作用域开始取,如果没有,就往下一个作用域取。 一直把四个作用域取完都没有, 就没有显示。
- 如何使用
- 取出4个作用域中存放的值。
<%
pageContext.setAttribute("name", "page");
request.setAttribute("name", "request");
session.setAttribute("name", "session");
application.setAttribute("name", "application");
%>
按普通手段取值<br>
<%= pageContext.getAttribute("name")%>
<%= request.getAttribute("name")%>
<%= session.getAttribute("name")%>
<%= application.getAttribute("name")%>
<br>使用EL表达式取出作用域中的值<br>
${ pageScope.name }
${ requestScope.name }
${ sessionScope.name }
${ applicationScope.name }
- 如果域中所存的是数组
<%
String [] a = {"aa","bb","cc","dd"};
pageContext.setAttribute("array", a);
%>
使用EL表达式取出作用域中数组的值<br>
${array[0] } , ${array[1] },${array[2] },${array[3] }
- 如果域中锁存的是集合
<br>---------集合数据------------<br>
<%
List list=new ArrayList();
list.add("11");
list.add("12");
list.add("13");
list.add("14");
pageContext.setAttribute("li", list);
%>
使用EL表达式取出作用域中的数组的值<br>
${li[0] }, ${li[1] }, ${li[2] } ,${li[3] }
- 取出Map集合的值
<%
Map map = new HashMap();
map.put("name", "zhangsna");
map.put("age",18);
map.put("address","北京..");
map.put("address.aa","深圳..");
pageContext.setAttribute("map", map);
%>
使用EL表达式取出作用域中Map的值<br>
${map.name } , ${map.age } , ${map.address } , ${map["address.aa"] }
取值细节:
- 从域中取值。 得先存值。
从域中取值。 得先存值。
<%
//pageContext.setAttribute("name", "zhangsan");
session.setAttribute("name", "lisi...");
%>
<br>直接指定说了,到这个作用域里面去找这个name<br>
${ pageScope.name }
<br>//先从page里面找,没有去request找,去session,去application <br>
${ name }
<br>指定从session中取值<br>
${ sessionScope.name }
- 取值方式
如果这份值是有下标的,那么直接使用[]
<%
String [] array = {"aa","bb","cc"}
session.setAttribute("array",array);
%>
${ array[1] } --> 这里array说的是attribute的name
如果没有下标, 直接使用 .的方式去取
<%
User user = new User("zhangsan",18);
session.setAttribute("u", user);
%>
${ u.name } , ${ u.age }
一般使用EL表达式,用的比较多的,都是从一个对象中取出它的属性值,比如取出某一个学生的姓名。
EL表达式 的11个内置对象。
${ 对象名.成员 }
- pageContext
作用域相关对象
- pageScope
- requestScope
- sessionScope
- applicationScope
头信息相关对象
- header
- headerValues
参数信息相关对象
-
param
-
paramValues
-
cookie
全局初始化参数 -
initParam