EL表达式、JSTL标签库、过滤器(Filter)、监听器(Listener)

本文详细介绍了EL表达式,包括其介绍、功能、注意事项和使用细节。接着讲解了JSTL标签库的核心标签和常用功能,如if、choose和forEach标签。此外,文章还深入探讨了过滤器(Filter)的介绍、核心方法、使用案例和生命周期,并对比了过滤器与Servlet的区别。最后,讨论了监听器(Listener),包括各种类型的监听器及其在Web应用程序中的作用。
摘要由CSDN通过智能技术生成

1. EL表达式

1.1 介绍

  • EL(Expression Lannguage):表达式语言
  • 在JSP2.0规范中加入的内容,也是Servlet规范的一部分
  • 作用
    • 在JSP页面获取数据,让我们的JSP脱离Java代码块和JSP表达式
  • 不需要关心是哪个对象,只需要关心名称就行了
  • 语法
    • ${表达式的内容}
  • 只能从域对象中获取,即四大域对象

1.2 入门案例

<head>
    <title>el快速入门</title>
</head>
<body>
    <% request.setAttribute("username","zhangsan");%>

    ${username}
</body>
</html>

1.3 功能

1.3.1 获取数据
  • 获取普通类型数据
    • ${数据的名称}
  • 自定义对象类型
    • ${数据的名称} ==> 获取到的是对象
    • ${数据名称.属性名}
  • list集合
    • ${数据名称[索引]}
  • map集合
    • ${数据名称.map集合key的名称}
    • ${数据名称[“map集合key的名称”]}
<body>
<%--基本数据类型--%>
    <%pageContext.setAttribute("num",10);%>
    ${num}<br/>
<%--自定义对象--%>
    <%
        Student stu = new Student("张三","23");
        pageContext.setAttribute("stu",stu);
    %>

    ${stu}<br/>
    ${stu.name}
    ${stu.age}

<%--数组类型--%>
    <%
        String[] arr = {"hello","world"};
        pageContext.setAttribute("arr",arr);
    %>

    ${arr} <br/>
    ${arr[0]}<br/>
    ${arr[1]}<br/>

<%--List集合--%>
    <%
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("world");
        pageContext.setAttribute("list",list);
    %>

    ${list}<br/>
    ${list[0]}<br/>
    ${list[1]}<br/>

<%--Map集合--%>
    <%
        HashMap<String,Student> map = new HashMap<>();
        map.put("hm1",new Student("张三","23"));
        map.put("hm2",new Student("李四","24"));
        pageContext.setAttribute("map",map);
    %>

    ${map}<br/>
    ${map.hm1}<br/>
    ${map.hm2}<br/>
</body>
1.3.2 运算符
  • 关系运算符
运算符 作用 示例 结果
==或eq 等于 5 = = 5 或 {5 == 5}或 5==5{5 eq 5} true
!=或ne 不等于 5 ! = 5 或 {5 != 5}或 5!=5{5 ne 5} false
<或It 小于 3 < 5 或 {3 < 5}或 3<5{3 It 5} true
> 或gt 大于 3 > 5 或 {3 > 5}或 3>5{3 gt 5} false
<=或le 小于等于 3 < = 5 或 {3 <= 5}或 3<=5{3 le 5} true
>=或ge 大于等于 3 > = 5 或 {3 >= 5}或 3>=5{3 ge 5} false
  • 逻辑运算符
运算符 作用 示例 结果
&&或and 并且 {A&&B}或{A and B} true/false
||或or 或者 A ∥ ∥ B 或 {A\|\|B}或 AB{A or B} true/false
!或not 取反 ! A 或 {! A}或 !A{not A} true/false
  • 其他运算符
运算符 作用
empty 判断对象是否为N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值