Java jsp 详细说明 --- EL表达式

  1. EL表达式的概念及作用

    作用:是jsp写起来更简单,更简洁。主要用于获取作用域中的数据。
     
  2. EL表达式的应用  name  只是一个变量

    1.${xxxxScope.name} :获取具体某个作用域中的属性的值

    2.${name}                   :获取作用域中的数据,因为没有指定作用域,则会自动进行逐级查找  顺序为:pageContext request session application

    3.EL表达式和jsp脚本的区别:<%=request.getAttribute() %> 没有找到返回null      ${requestScope.name} 没找到返回""

    4.获取数据:
     
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <%
            User user = new User("DL19121630","123456");
            request.setAttribute("user",user);
        %>
        <%-- 指定作用域获取数据 --%>
        ${requestScope.user}
        ${requestScope.user.name}
        ${requestScope.user.password}
        <br>
        <%-- 不指定作用域获取数据 --%>
        ${user.name}
        ${user.password}
        <br>
        <%-- 第三种获取 --%>
        ${user["name"]}
        ${user["password"]}
    </body>
    </html>
  3. EL表达式获取 数组,集合等元素。
     
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <%
            //数组
            int[] nums = {1,2,3};
            request.setAttribute("nums",nums);
            //集合
            ArrayList<String> strings = new ArrayList<>();
            strings.add("one");
            strings.add("two");
            strings.add("three");
            request.setAttribute("strings",strings);
            //map集合
            Map<String, String> maps = new HashMap<>();
            maps.put("name","代先生");
            maps.put("age","18");
            maps.put("sex","男");
            request.setAttribute("maps",maps);
        %>
    
        <%--获取数组元素--%>
        ${requestScope.nums[0]}
        ${requestScope.nums[1]}
        ${requestScope.nums[2]}
        <br>
        <%--获取集合元素--%>
        ${requestScope.strings[0]}
        ${requestScope.strings[1]}
        ${requestScope.strings[2]}
        <br>
        <%--获取map集合元素--%>
        ${requestScope.maps["name"]}
        ${requestScope.maps.name}
    </body>
    </html>
  4. empty关键字

    作用:判断是否有值,如果有,则返回true,否则返回false
    <% 
    	String s1="";
        pageContext.setAttribute("s1", s1);
        String s2=null;
        pageContext.setAttribute("s2", s2);
        String s3="122222";
        pageContext.setAttribute("s3", s3);
        List list1 =new ArrayList();
        pageContext.setAttribute("list1", list1);
    %>
    <!-- empty关键只要内容是空true -->
    ${empty s1}<br>
    ${empty s2}<br>
    ${empty  s3}<br>
    ${empty  list1}<br>

     

猜你喜欢

转载自blog.csdn.net/weixin_45634682/article/details/112488690