一、概述#
是为了简化jsp代码,具体一点就是为了简化在jsp里面写的那些java代码。
二、写法格式
如果从作用域中取值,会先小的作用域开始取,如果没有,就往下一个作用域取。 一直把四个作用域取完都没有, 就没有显示。
三、简单使用
简单取数:##
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <% pageContext.setAttribute("name","pageContext"); 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} //直接精确的去找name ${requestScope.name} ${sessionScope.name} ${applicationScope.name} </br>
|
细节:
${ name }
:找寻顺序是:page –> request –> session –>application
${ sessionScope.name }
:精确地寻找(Scope) 到session的
数组
1 2 3 4 5 6 7 8 9 10 11 12
| <% String[] a={"aa","bb","cc","dd"}; //注册一个a数组 pageContext.setAttribute("array",a); //将a数组的存到array数组 %> </br> 数组中的值:</br> ${array[0]} //然后利用下标找(有下标通过 [] ) ${array[1]} ${array[2]} ${array[3]} </br>
|
List集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <% List list=new ArrayList(); // alt+/ 提示出然后加import list.add("11"); //list集合添加元素是add()方法 list.add("22"); list.add("33"); list.add("44"); pageContext.setAttribute("array",list); //将list数组的存到array数组 %>
List集合:</br> ${array[0]} //然后利用[]找(有下标通过 [] ) ${array[1]} ${array[2]} ${array[3]} </br>
|
Map集合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <% Map map=new HashMap(); // alt+/ 提示出然后加import map.put("name","zhangsan"); //map集合添加元素是put()方法 map.put("age","19"); map.put("address","南京..."); pageContext.setAttribute("array",map); //将map数组的存到array数组 %>
Map集合:</br> ${array.name} //然后利用.找(没有下标通过 . ) ${array.age} ${array.address} </br>
|
总结
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 1.如果这份值是有下标的,那么直接使用[]
<% String [] array = {"aa","bb","cc"} session.setAttribute("array",array); %>
${ array[1] } --> 这里array说的是attribute的name
2.如果没有下标,直接使用 .的方式去取
<% User user = new User("zhangsan",18); session.setAttribute("u", user); %> ${ u.name } ${ u.age }
|
四、EL表达式的11个内置对象
相对于JSP的9个内置对象而言,EL加强了其中的几个方面得到了11个内置对象。
使用模板:
作用域相关对象(JSP对应的作用域pagecontext/request/session/application)
- pageScope
- requestScope
- sessionScope
- applicationScope
头信息相关对象
参数信息相关对象