zoukankan      html  css  js  c++  java
  • EL表达式

    EL  表达式

    1. EL  语法和使用
    EL(Expression Language) 是为了使 JSP 写起来更加简单。表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法,让 Jsp 的代码更 加简化。语法结构非常简单: ${expressio}EL 表达式一般操作的都是域对象中的数据,操作不了局部变量。域对象的概念在 JSP 中一共有四个:page, request, session, application;范围依次是,本页面,一次请求, 一次会话,整个应用程序。而 EL 默认的查找方式为从小到大查找,找到即可。当域对象全 找完了还未找到则返回空字符串””。
    当需要指定从某个特定的域对象中查找数据时可以使用四个域对象对应的空间对象,分别是:pageScope, requestScope, sessionScope, applicationScope。


    2. EL  运算
    使用 EL 表达式可以用来判断集合中是否有元素 ${empty list}
    1) List  遍历
    <%
    List<String> list = new ArrayList<String>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    request.setAttribute("list", list);
    %>
    ${empty list} (是否为空,如果为空就是true,不为空就是false)
    <br /> ${list[1] }
    <br />

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC >
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
        ${param }<br/>
        ${param.uname }<br/>
        ${param['upwd'] }<br/>
    
        ${paramValues }<br/>
        ${paramValues['uname'] }<br/>
        ${paramValues['uname'][0] }<br/>
        ${paramValues.upwd[0] }<br/>
        <%-- ${paramValues.upwd[1] }<br/> --%>
    </body>
    </html>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC >
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <%
        pageContext.setAttribute("uname", "zhaoliu");
        request.setAttribute("uname", "zhangsan");
        session.setAttribute("uname", "wangwu");
        application.setAttribute("uname", "admin");
        
    %>
    ${uname } <br/>
    <%=pageContext.getAttribute("uname") %> <br/>
    ${upwd } <br/>
    <%=pageContext.getAttribute("upwd") %><br/>
    ${sessionScope.uname }<br/>
    
    ${100 }<br/>
    
    </body>
    </html>
    <%@page import="java.util.List"%>
    <%@page import="java.util.ArrayList" %>
    <%@page import="com.shsxt.entity.User" %>
    <%@page import="java.util.Map" %>
    <%@page import="java.util.HashMap" %>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <!DOCTYPE html PUBLIC >
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <% 
        List<String> nn = new ArrayList<>();
        nn.add("hello");
        nn.add("world");
        User user= new User("zhangsan","zhangsan666",18,true);
        user.setNn(nn);
        
        request.setAttribute("userObject", user);
    %>
    
    ${userObject }<br/>
    ${userObject.userName }
    ${userObject.userAge }
    ${userObject.userSex }
    ${userObject.nn }
    ${userObject.nn[0] }
    <%
        List<String> list=new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        request.setAttribute("list", list);
        List<String> list2 =new ArrayList<String>();
        request.setAttribute("list2",list2);
        
    %>
    
    ${list }
    ${list2 }
    ${list3 }
    ${list[0] }
    ${list2[0] }
    ${empty list }
    ${empty list2 }
    ${empty list3 }
    ${list.size() }
    ${list3.size() }
    ${list2.size() }
         <%
            Map map = new HashMap();
            map.put("aaa", "111");
            map.put("bbb", 2222);
            map.put("ccc", 333);
            request.setAttribute("map", map);
        %>
        
        ${map }
        ${map.aaa }
    ${map['bbb'] }
    </body>
    </html>


    2)  访问 map
    这里使用到了 el 的另一种取值方式[“”]
    <%
    Map map = new HashMap();
    map.put("aaa", "111");
    map.put("bbb", 2222);
    map.put("ccc-a", 333);
    request.setAttribute("map", map);
    %>
    ${empty map} ${map.aaa }
    <br /> ${map["bbb"]}
    <br /> ${map["ccc-a"]}
    3)  做+ 、- 、* 、/( 也可以使用 div  来表示) 、% 、==
    <%
    String a = "aaa";
    String b = "aaa";
    %>
    <%=a == b%>
    ${4 div 2 }
    <br />
    注意:String 也使用==比较
    <%
    request.setAttribute("a", 10);
    request.setAttribute("b", 10);
    %>

    <h2>${a+b }</h2>
    <h2>${a==b }</h2>
    <%
    request.setAttribute("a", "aaaa");
    request.setAttribute("b", "aaaa");
    %>
    <h2>${a==b }</h2>

  • 相关阅读:
    python同时继承多个类且方法相同
    django扩展用户继承AbstractUser
    python中单下划线和双下划线
    django扩展用户一对一关联
    django拓展用户proxy代理
    django 内置User对象基本使用
    selenium+pthon之二----了解浏览器的相关操作方法
    最近很燥,决心沉下心来学习!
    selenium+pthon之一----环境搭建与脚本实例
    Fiddler入门三
  • 原文地址:https://www.cnblogs.com/liu1459310172/p/9574934.html
Copyright © 2011-2022 走看看