EL、JSTL 2022-03-22

EL

一、作用:

让jsp获取后台数据更加便捷。

二、使用:

语法结构:${expression}

三、使用El表达式获取值:

后端:

①req.setAttribute("str", "获取字符串");-->字符串

②Actor a = new Actor("多宝", "表演", new Address("北京", "昌平, "城南"));req.setAttribute("actor", a);-->对象

③List list = new ArrayList();-->list集合

    Actor actor = new Actor();

    actor.setName("多肉");

    actor.setName("多动");

    list.add(actor);

    req.setAttribute("list", list);

④Map map = new HashMap();-->map集合

    map.put("aa", new Actor("多肉", "睡觉"));

    map.put("bb", new Actor("多动", "吃狗粮"));

⑤request对象存储的请求数据

前端:

①${str}

②${actor}-->获取对象.-->$${actor.address.city}-->获取地址

③${list[0].name }-->获取list集合第一个元素的名称

④${map.aa.name}-->获取map集合,键值为aa数据的名称

⑤${param.键名}-->返回值    ${paramValues.键名}-->返回数组

四、使用EL表达式判断是否空值

后端:

①req.setAttribute("str","");

②req.setAttribute("objects",new Actor());

③req.setAttribute("list",new ArrayList());

④req.setAttribute("map",new HashMap());

前端:

${empty str}

${empty objects}

${empty list}

${empty map}

五、使用El表达式获取请求头

${header }-->${headerValues["accept-language"][0] }

六、使用El表达式获取cookie

${cookie }-->${cookie.JSESSIONID }-->${cookie.JSESSIONID.name }-->${cookie.JSESSIONID.value }

七、使用El表达式进行运算

常用运算符皆可在EL表达式中直接使用,例如:

${1*2 }    ${1+"2" }    ${1>2 }    ${1%2 }    ${sex==1?'男':'女' }  ...

八、El表达式获取作用域的顺序

pageContext-->request-->session-->appilcation。获取作用域的值

${pageScope.键名}-->${requestScope.键名}-->${sessionScope.键名}-->${applicationScope.键名}

JSTL

一、作用

用标签替换逻辑代码的编写

二、使用

基于EL表达式。除Myeclipse以编码工具,其余都需要导入jar包

链接:https://pan.baidu.com/s/1-6XtNpJpPT6o5HqIvU_SsQ    提取码:1111

在jsp页面引入

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>  <-- 核心标签库 -->

<%@taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt"%>    <-- 格式化标签库 -->

三、常用标签

${var中的数据}...

    用于在JSP中显示数据,就像<%= ... >

    用于保存数据

    移除一个变量

注意:如果不写变量所属作用域,则移除所有作用域中 要移除的变量名

  ...

   

        ...

       

        ...

        ...

    ...

            ...

   

注意:jstl获取的值都必须在作用域中。

你可能感兴趣的:(EL、JSTL 2022-03-22)