• 如何将servlet中的变量在jsp页面中显示---jsp中的EL表达式


    1.EL(Expression Language)表达式
    语 法:${},放在body中


    2.EL表式一般情况下,从作用域对象中取值
    作用域对象有四个:pageContext,request,session,application,从小到大

    例如:
    <%
    int a = 1234;
    //利用作用域对象设置key-value,即变量
    pageContext.setAttribute("a", a);
    %> -----这是设置在<!DOCTYPE html >标签之上

    可由${a},来获取变量a的值。

    3.EL表达式优先从哪个作用域对象取值?默认情况下从最小作用域取值,前提是几个作用域对象的key都相等

    例如:
    <%
    pageContext.setAttribute("scope", "pageContext");
    request.setAttribute("scope", "request");
    session.setAttribute("scope", "session");
    application.setAttribute("scope", "application");
    %>
    可有${scope},获取scope的值。

    4.EL表达式从指定作用域对象中取值:pageContext,request,session,application

    例如:
    <%
    pageContext.setAttribute("scope", "pageContext");
    request.setAttribute("scope", "request");
    session.setAttribute("scope", "session");
    application.setAttribute("scope", "application");
    %>

    可由${pageScope.scope},${requestScope.scope},${sessionScope.scope},${applicationScope.scope}获取相应的scope的值


    5.EL表达式能取什么类型的数据?基本数据类型,对象类型,复合对象类型,Map,List等

    例如:方式一:
    List list = new ArrayList();
    //往list中添加对象
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    list.add("ddd");
    //再将list放到作用域对象request中
    request.setAttribute("list", list);
    可由:${list}---${list[2]},获取相应的值

    方式二
    Map map = new HashMap();
    //往map添加数据
    map.put("name", "李四");
    map.put("gender", "男");
    map.put("address", "天河区");
    //将map放到作用域对象request中
    request.setAttribute("map", map);
    可由:${map}---${map.gender},获取相应的值

    方式三
    User user = new User("lisi","123456000","李四","男",20,new Address("广东省","广州市","天河区") );
    request.setAttribute("user", user);
    ${user.realname}---${user["realname"]}----${user.addr.town},获取相应的值

    6.EL表达式获取请求参数的数据:param,paramValue

    在浏览器地址栏输入:127.0.0.1:8080/servlet名/jsp文件名?name=luo&fav=lq&fav=zq&fav=ppq

    可由:${param.name},${paramValues.fav[1]}来获取相应的值


    7.EL表达式可以做为空判断:空字符串,null,空List,空Map,这几个值为true

    例如:
    <%
    request.setAttribute("aaa", "");
    request.setAttribute("bbb", null);
    request.setAttribute("ccc", new ArrayList());
    request.setAttribute("ddd", new HashMap());
    %>

    可由${empty aaa},${empty bbb},${empty ccc},${empty ddd},对其进行判断,empty为关键字

    8.EL表达式可以做基本的逻辑运算和数学运算

    例如:
    ${5>4},${5<4},${5>=4},${5<=4},${5==4}
    ${5+4},${5-4},${5*4},${5/4},${5%4}
    还有${5+"4"},其值为9,因为在EL中没有字符串拼接功能,${5+"a"},在页面会显示500的错误,因为在EL中也没有字符的概念。

    9.EL表达式中pageContext可以获取pageContext作用域对象本身

    例如:
    ${pageContext}

  • 相关阅读:
    js的继承实现方式
    jdbc调用通用存储过程完成分页
    最近在忙些什么......
    【转】说服下属的“攻心术”
    设计模式原则详解
    【转】职场学做“功夫熊猫”
    内核初始化优化宏 ,初始化顺序, __init,__devexit等
    Linux 嵌入式启动以及优化
    每个程序员都该知道的10大编程格言
    linux 用户空间 和 内核空间 延时函数
  • 原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11235222.html
Copyright © 2020-2023  润新知