• JavaWeb学习之EL表达式


    EL表达式:是为了简化jsp文件中编写Java代码

    * 格式:${表达式 }

    * EL表达式的使用

    ###1、 取出4个作用域中存放的值

    <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>

    结果:

     ###2、 如果域中所存的是数组、集合、Map集合

    <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>

    结果:

      

     ###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>

    结果:

      

    ##EL表达式 的11个内置对象

      - pageContext:ServletContext(一个工程只有一个上下文对象)
      作用域相关对象
        - pageScope:page作用域
        - requestScope:request作用域
        - sessionScope:session作用域
        - applicationScope:整个应用程序作用域
      头信息相关对象
        - header
        - headerValues
      参数信息相关对象
        - param
    <%=request.getParameter("address") %>
        等同于
    ${param.address}

        - paramValues

        - cookie
      全局初始化参数
        - 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>
  • 相关阅读:
    Android Studio使用教程
    http://www.android-doc.com/#/295
    JDK,JRE,JVM区别与联系(ZZ)
    eclipse下载
    mac下android环境搭建笔记(android studio)
    android环境配置
    JDK、JRE、JVM三者间的关系
    实体类作用、封装与面向对象思想
    领域模型中的实体类分为四种类型:VO、DTO、DO、PO
    [架构设计] 组件和模块的区别
  • 原文地址:https://www.cnblogs.com/WarBlog/p/12532246.html
Copyright © 2020-2023  润新知