<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.*" %>
<%@ page import="javaBean.Login" %>
<%@ page isELIgnored="false" %>
<!-- 这下面的EL表达式,并没有使用到jsp的标准标签库,可以去掉一下的引用,但是在实际的项目中EL表达式会集合JSTL标签库来使用 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>El各种表达式的测试</title>
</head>
<body>
<%
String password = "789";
pageContext.setAttribute("password", "11111");
%>
<H2>jsp的el表达式</H2>
<H4>jsp的隐藏对象pageContext、param、paramValues、header、headerValues、cookie、initParam</H4>
<!-- 如果你导入了jsp的核心标签库,下面的还是不能拿到值得话,就是你的EL表达式在你这个servlet版本被禁止掉了,需要开启 -->
<p>servlet中request的header隐藏对象:${header['Accept-Encoding']}</p>
<p>servlet中request的initParam隐藏对象:${initParam.jdbc}</p>
<p>servlet中request的header隐藏对象:<%=request.getHeader("Accept-Encoding") %></p>
<H4>一对${param.username},就是拿的request.getParameter("username")的值。这个是Request的url后面的参数</H4>
<p>url后面的参数是: ${param.username}</p>
<p>url后面的参数是: <%=request.getParameter("username")%></p>
<p>url后面的一个参数多个值:${paramValues.username}</p>
<p>url后面的一个参数多个值:<%=request.getParameterValues("username")%></p>
<h3>Page、request、session、application域中的值.例如Request域中的值就是使用request.setAttribute()方法来设置的,
其他域中的值设置是一样的,在jsp中的EL表达式这些域的对象使用pageScope....来表示,因为request、response这些名字被隐藏对象使用了</h3>
<p>获取当前页面上的java变量password的值:<%=password %></p>
<p>获取page域中的password值: ${pageScope.password}</p>
<p>获取request域中的password值: ${requestScope.password}</p>
<p>不指定域的时候,它会从page域下一个一个的找,直到找到为止,如这里也访问password对象,找到的将是page域下面:${password}</p>
<hr/>
<%
Login user1 = new Login("a", "1");
Login user2 = new Login("b", "2");
Login user3 = new Login("c", "3");
List <Login> list = new ArrayList<Login>();
list.add(user1);
list.add(user2);
list.add(user3);
%>
<% for(Login u:list){
pageContext.setAttribute("u", u);
%>
<table>
<tr>
<td>${u.username}</td>
<td><%=u.getPassword()%></td>
</tr>
</table>
<%
}
%>
</body>
</html>