欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

EL表达式

程序员文章站 2022-05-06 07:53:21
...

EL表达式:${要取的变量名} 通过此获取作用域对象的值

  1. 只能获取作用域对象的值

  2. 可以获取普通变量、list(通过下标)、map(.key)、对象(.属性名)的数据

    <%
        request.setAttribute("name", "张三");
        List list = new ArrayList();
        list.add("list-0");
        list.add("list-1");
        list.add("list-2");
    
        Map map = new HashMap();
        map.put("map1", "map1-1");
        map.put("map2", "map2-2");
        map.put("map3", "map3-3");
    
        Person person = new Person("对象", 20, "男");
    
        pageContext.setAttribute("list", list);
        pageContext.setAttribute("map", map);
        pageContext.setAttribute("person", person);
    %>
    
    <%--取值如下--%>
    ${name} <br>
    ${list}----------${list[0]} <br>
    ${map}----------${map.map1} <br>
    ${person}----------${person.age} <br>
    

    访问该jsp页面如下:
    EL表达式

  3. EL表达式从各作用域对象取值的顺序

    默认从最小的作用域取值,JSP有4大作用域,从小到大依次为

    pageContext < request < session < application

  4. EL表达式取指定作用域的值,使用 pageScope requestScope sessionScope applicationScope

    pageContext.setAttribute("data","pageContext");
    request.setAttribute("data","request");
    session.setAttribute("data","session");
    application.setAttribute("data","application");
    
    // 取值如下
    ${data} <br>
    ${pageScope.data} <br>
    ${requestScope.data} <br>
    ${sessionScope.data} <br>
    ${applicationScope.data} <br>
    

    访问该jsp页面如下:
    EL表达式

  5. EL表达式除了去作用域中的值还可以获取请求参数中的值:使用param、paramValues参数

    ${param.参数名}
    ${paramValues.参数名[]}
    
  6. EL表达式可以做空值判断 使用empty,返回为字符串类型的true或false

    {empty 参数名}

  7. EL表达式除了通过".“取属性值,也可以通过”[]"取值

    {user[param.name]} param.name也是一个EL表达式,获取请求参数中name的值,再从user中获取

  8. EL表达式可以做简单的数学运算和逻辑判断

    ${5+4}

    ${5>4}

    ${scope > 85}

相关标签: 网络编程