EL_运算符与获取域中存储的数据_hehe.employment.over.17.3

文章目录

  • 17.4 EL_概述
  • 17.5 EL_运算符
  • 17.6 EL_获取值

17.4 EL_概述

  • ELExpression Language 表达式语言
  • 作用:替换和简化jsp页面中java代码的编写
  • 语法${表达式}
  • 注意:
    • jsp默认支持el表达式的。如果要忽略el表达式 :
      • 设置jsp中page指令中: isELIgnored="true" ,忽略当前jsp页面中所有的el表达式。
      • \${表达式} :忽略当前这个el表达式。

17.5 EL_运算符

  • 1.算数运算符: + ,-, * ,/(div) ,%(mod)
  • 2.比较运算符: >, < ,>=, <=, ==, !=
  • 3.逻辑运算符: &&(and) ,||(or) ,!(not)
  • 4.空运算符: empty
    • 功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0
    • ${empty list}:判断字符串、集合、数组对象是否为null或者长度为0。
    • ${not empty str}:表示判断字符串、集合、数组对象是否不为null 并且 长度>0。

17.6 EL_获取值

  • el表达式只能从域对象中获取值。
  • 语法:
    • 1.${域名称.键名}:从指定域中获取指定键的值
      • 域名称:
        • pageScope --> pageContext
        • requestScope --> request
        • sessionScope --> session
        • applicationScope --> application(ServletContext)
    • 2.${键名}:表示依次从最小的域中查找是否有该键对应的值,直到找到为止。
    • 3.获取对象、List集合、Map集合的值
      • 获取对象${域名称.键名.属性名}
        • 本质上会去调用对象的getter方法
      • List集合${域名称.键名[索引]}
      • Map集合:
        • ${域名称.键名.key名称}
        • ${域名称.键名["key名称"]}
    • 4.隐式对象:
      • el表达式中有11个隐式对象
        • pageContext: 获取jsp其他八个内置对象
          - ${pageContext.request.contextPath}:动态获取虚拟目录
  • 示例:
<%@ page import="com.xww.domain.User" %>
<%@ page import="java.util.*" %><%--
  Created by IntelliJ IDEA.
  User: 徐巍巍
  Date: 2021/2/12
  Time: 10:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Titletitle>
head>
<body>
    <%
        User user = new User();
        user.setName("徐巍巍");
        user.setAge(22);
        user.setBirthday(new Date());
        request.setAttribute("u",user);
    
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add(user);
        request.setAttribute("list",list);
    
    
        Map map = new HashMap();
        map.put("sname","徐巍巍");
        map.put("gender","男");
        map.put("user",user);
    
        request.setAttribute("map",map);
    %>
    <h3>el获取对象中的值h3>
    ${requestScope.u}<br>
    
    <%--
        * 通过的是对象的属性来获取
            * setter或getter方法,去掉set或get,在将剩余部分,首字母变为小写。
            * setName --> Name --> name
    --%>
    
    ${requestScope.u.name}<br>
    ${u.age}<br>
    ${u.birthday}<br>
    ${u.birthday.month}<br>
    ${u.birStr}<br>
    
    <h3>el获取List值h3>
    ${list}<br>
    ${list[0]}<br>
    ${list[1]}<br>
    ${list[10]}<br>
    ${list[2].name}
    
    <h3>el获取Map值h3>
    ${map.gender}<br>
    ${map["gender"]}<br>
    ${map.user.name}
    
    ${pageContext.request}<br>
    <h4>在jsp页面动态获取虚拟目录h4>
    ${pageContext.request.contextPath}

body>
html>

你可能感兴趣的:(#,间接,over,java)