EL表达式

什么是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>

不要把${}表达式放在<%%>

请登录后发表评论

    没有回复内容