javaWeb学习笔记8—EL表达式,JSTL标签库

学习视频地址Java Web 尚硅谷

EL表达式

el替换了jsp的<%= %>

image-20220210154437341

image-20220210154817560

如果key是没有set的:

image-20220210154923399v

image-20220210155207025

image-20220210155253117

先存在域里(或者传过来),再输出。

应该使用了jsp-api这个包

1.EL表达式搜索域数据的顺序

当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。

从小范围到大范围。pageContext,request,session, application

后面在第4点时,讲到了相同的key时,也可以指定某个域。

image-20220210164020860

2.c)EL表达式输出Bean的普通属性,数组属性。List 集合属性,map集合属性

EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值。

所以说:在Person对象里 只写一个get方法,不写类的成员变量都能使用!!

image-20220210174324144

还有一点注意:如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据ok的类型,自动去找isOk 这个方法。

image-20220213172320778

image-20220213172604194

3.EL表达式—运算

image-20220210195649962

image-20220210195955189

image-20220210200724308

image-20220210200701338

image-20220210201550499

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
//        1、值为null值的时候,为空
        request.setAttribute("emptyNull", null);
//        2、值为空串的时候,为空
        request.setAttribute("emptyStr", "");
//        3、值是Object类型数组,长度为零的时候
        request.setAttribute("emptyArr", new Object[]{});
//        4、list集合,元素个数为零
        List<String> list = new ArrayList<>();
//        list.add("abc");
        request.setAttribute("emptyList", list);
//        5、map集合,元素个数为零
        Map<String,Object> map = new HashMap<String, Object>();
//        map.put("key1", "value1");
        request.setAttribute("emptyMap", map);
    %>
    ${ empty emptyNull } <br/>
    ${ empty emptyStr } <br/>
    ${ empty emptyArr } <br/>
    ${ empty emptyList } <br/>
    ${ empty emptyMap } <br/>

    <hr>
    ${ 12 != 12 ? "A":"B" }

</body>
</html>

image-20220210204447469

image-20220210204757451

双引号 也可以

4.EL表达式的11个隐含对象

image-20220211095636235

image-20220211095738603

pageContext的使用:

image-20220211105004035

image-20220211110210557

两个一样:

为什么.scheme 就相当于.getScheme。因为输出数据时 会默认的找这个的get+首字母大写的那个方法

image-20220211105233173

4个域的使用:

image-20220211103504695

image-20220211103439001

param:

image-20220211111359671

image-20220211111454217

key 是String V是String[]

image-20220211111941409

image-20220211112221622

输出 wzg168

当遇到要获取复选框中的数据的场景时可以使用这个参数

image-20220211112837572

header:

取请求头的某一个 因为User-Agent有特殊字符 所以用大括号

image-20220211152502223

cookie:

键是String类型。cookie.JSESSIONID就是找到了JSESSIONID的值,.name就是getName

image-20220212103118098

initparam:

读取配置文件image-20220212103035573

image-20220212102843543

JSTL标签库

el替换jsp的 <%= %>,jstl替换jsp的 <% %>

image-20220212173324558

image-20220212173913950

使用前先引入

image-20220212174037801

image-20220212194122164

1.set标签

image-20220213114027584

2.if标签

如果成立,则中间的输出

image-20220213114401952

3. c:choose c:when c:otherwise标签

image-20220213114910476

image-20220213150811117

image-20220213154008854

4.forEach标签

遍历1到10

image-20220213154711117

遍历数组

image-20220213155619437

遍历Map集合

image-20220213160251066

遍历List集合

image-20220213160747881

image-20220213162540691

image-20220213162801597

forEach标签所有属性组合使用介绍

begin和end:

image-20220213163344406

image-20220213163403622

step:

image-20220213163553238

varStatus: 变量状态

分析源码可得:

可以使用的方法和作用:

image-20220213172757823

使用:status.Current …

image-20220213171444418

如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据first的类型,自动去找isFirst这个方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值