日期:2014-05-16 浏览次数:20389 次
<%@ page language="java" contentType="text/html; charset=GBK"%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ page import="java.util.*"%> <html> <head> <title>JSTL</title> </head> <body> <pre> 关于EL表达式的一些说明: 一、EL表达式可以直接使用在模板文本中,也可以用于声明为接受请求时的动作属性值中(这包括标准动作和定制动作) 二、EL表达式的隐式变量: pageScope\requestScope\SessionScope\applicatonScope\param\paramValues\header\headerValues\cookie\intParam\pageContext 三、EL中的表达式 . [] ? : +-*/ == != <= > >= && || ! empty func(args) </pre> <c:set var="name1" value="page范围内的变量"/> <%=pageContext.getAttribute("name1")%> <br/> <c:set var="name2" value="request范围内的变量" scope="request"/> <%=request.getAttribute("name2")%> <br/> <c:set var="name3" value="session范围内的变量" scope="session"/> <%=session.getAttribute("name3")%> <br> <c:set var="name4" value="application范围内的变量" scope="application"/> <%=application.getAttribute("name4")%> <br> <pre> 说明: 1、EL表达如果不指明范围,则从page、request、session、application范围内逐一查找。 2、pageScope requestScope sessionScope applicationScope都是EL表达的隐式变量,相当于这个作用域变量的一个Map集合。 3、EL表达式还有一个特别有用的隐式变量--pageContext,是javax.servlet.jsp.pageContext类的一个实例,提供了对各种请求数据的访问。 </pre> <br/> 用EL表达式输出的方法:${name1}第二种方法:${pageScope.name1} <br> 用EL表达式输出的方法:${name2}第二种方法:${requestScope.name2} <br> 用EL表达式输出的方法:${name3}第二种方法:${sessionScope.name3} <br> 用EL表达式输出的方法:${name4}第二种方法:${applicationScope.name4} <br/> 用pageContext的方法输出 <%=pageContext.getRequest().getAttribute("name2")%> <br> EL表达式也可以取Bean\Map\List\数组,下面是例子 <% Map map=new HashMap(); map.put("key1","value1"); map.put("key2","value2"); pageContext.setAttribute("map",map); List list=new ArrayList(); list.add("aaa"); list.add("bbb"); pageContext.setAttribute("list",list); %> <br> 使用EL表达式取Map和List的值<br> ${pageScope.map.key1} 也可以省略pageScope<br> ${map.key1} <br> list[0]: ${list[0]} <pre> 说明: 1)取Map\Bean中的值可以使用"."操作符、 2)List和数组元素可以使用数组存取操作符[]。 3)数组存取操作符还可以访问bean属性和Map项。当性质由一个子表达式,或者性质是一个保留字,或者性质名中包含有 用于操作符(例如点号)时,也必须使用数组存取操作符。 </pre> <pre> 下面这条语句使用了声明元素,它由请求此页面的所有请求所共享。 有时间会用这种方面做访问这个页面的计数器,但是这并不是十分安全的方法。</pre> <!--%!List globalList=new ArrayList();%--> </body> </html>
?