什么是EL表达式
EL表达式就是可以获取上面四大域对象中内容的语法。这种语法获取四大域中的内容更加简洁。
EL表达式的语法
${scope.key} 完整格式: 从指定的域中获取对应的key值。
${key}简洁语法: 默认从pageContext扫描有没有对应的key,如果没有则继续扫描request中有没有对应的key.依次类推。 如果找到则不会继续扫描。
测试
a.jsp
<body>
<%
//// response.sendRedirect("/c.jsp"); //重定向跳转到c.jsp
// request.getRequestDispatcher("/c.jsp").forward(request,response);//请求转发跳转
pageContext.setAttribute("u","这时pageContext的内容");
request.setAttribute("u","这时request的内容");
session.setAttribute("u","这时session的内容");
application.setAttribute("u","这时application的内容");
response.sendRedirect("/c.jsp"); //重定向跳转到c.jsp
// request.getRequestDispatcher("/c.jsp").forward(request,response);//请求转发跳转
%>
<hr>
这是pageContext中内容:${pageScope.u}<br>
这是request中内容:${requestScope.u}<br>
这是session中内容:${sessionScope.u}<br>
这是application中内容:${applicationScope.u}<br>
<hr>
这是pageContext中内容:${u}<br>
这是request中内容:${u}<br>
这是session中内容:${u}<br>
这是application中内容:${u}<br>
<%
//获取4大域中数据
Object u1 = pageContext.getAttribute("u");
Object u2 = request.getAttribute("u");
Object u3 = session.getAttribute("u");
Object u4 = application.getAttribute("u");
out.print(u1+"<br>");
out.print(u2+"<br>");
out.print(u3+"<br>");
out.print(u4+"<br>");
%>
</body>
c.jsp
<body>
<%
//获取4大域中数据
Object u1 = pageContext.getAttribute("u");
Object u2 = request.getAttribute("u");
Object u3 = session.getAttribute("u");
Object u4 = application.getAttribute("u");
out.print(u1+"<br>");
out.print(u2+"<br>");
out.print(u3+"<br>");
out.print(u4+"<br>");
%>
<hr>
这是pageContext中内容:${pageScope.u}<br>
这是request中内容:${requestScope.u}<br>
这是session中内容:${sessionScope.u}<br>
这是application中内容:${applicationScope.u}<br>
============================================================
<hr>
这是pageContext中内容:${u}<br>
这是request中内容:${u}<br>
这是session中内容:${u}<br>
这是application中内容:${u}<br>
</body>
不要把${}表达式放在<%%>
标签:EL,这是,内容,key,print,表达式,out From: https://www.cnblogs.com/xiaomubupi/p/18620740