EL表达式:是为了简化jsp文件中编写Java代码数组
* 格式:${表达式 }cookie
* EL表达式的使用session
###一、 取出4个做用域中存放的值app
<body> <% pageContext.setAttribute("name", "page"); request.setAttribute("name", "request"); session.setAttribute("name", "session"); application.setAttribute("name", "application"); %> 按普通手段取值 <br> <%= pageContext.getAttribute("name")%><br /> <%= request.getAttribute("name")%><br /> <%= session.getAttribute("name")%><br /> <%= application.getAttribute("name")%><br /> <br>使用EL表达式取出做用域中的值 <br> ${ pageScope.name } <br /> ${ requestScope.name } <br /> ${ sessionScope.name }<br /> ${ applicationScope.name }<br /> </body>
结果:jsp
###二、 若是域中所存的是数组、集合、Map集合spa
<body> <br>-------------数组数据---------------- <br> <% String[] a = { "aa", "bb", "cc", "dd" }; pageContext.setAttribute("array", a); %> 使用EL表达式取出做用域中数组的值 <br> ${array[0] } , ${array[1] },${array[2] },${array[3] } <br> <br>-------------集合数据---------------- <br> <% List list = new ArrayList(); list.add("li1"); list.add("li2"); list.add("li3"); list.add("li4"); list.add("li5"); pageContext.setAttribute("li", list); %> 使用EL表达式取出做用域中集合的值 <br> ${li[0] } , ${li[1] },${li[2] },${li[3] } <br>-------------Map数据---------------- <br> <% 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"] } </body>
结果:code
###EL取值细节 对象
<body> <% pageContext.setAttribute("name", "page"); request.setAttribute("name", "request"); session.setAttribute("name", "session"); application.setAttribute("name", "application"); %> 使用EL表达式取出做用域中的值 <br>查找顺序:pageScope => requestScope => sessionScope =>applicationScope <br> ${ name } </body>
结果:blog
##EL表达式 的11个内置对象作用域
- pageContext:ServletContext(一个工程只有一个上下文对象)
做用域相关对象
- pageScope:page做用域
- requestScope:request做用域
- sessionScope:session做用域
- applicationScope:整个应用程序做用域
- pageScope:page做用域
- requestScope:request做用域
- sessionScope:session做用域
- applicationScope:整个应用程序做用域
头信息相关对象
- header
- headerValues
- header
- headerValues
参数信息相关对象
- param
- param
<%=request.getParameter("address") %> 等同于 ${param.address}
- paramValues
- cookie
全局初始化参数
- initParam
- initParam
###EL应用补充(运算)
<body> <% pageContext.setAttribute("a", 1); pageContext.setAttribute("b", 2); pageContext.setAttribute("c", true); pageContext.setAttribute("d", false); %> ${ a > b } ${ a - b } ${ c && d } ${ a > b ? a: b} </body>