EL表达式和JSTL标签

本文深入探讨了EL表达式的语法与作用域,包括pageScope、requestScope、sessionScope和applicationScope的使用,以及EL表达式在JSP中的简化输出。同时,详细讲解了JSTL标签库的引入及其在逻辑控制、遍历集合等方面的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EL表达式

  • EL(Expression Language)表达式语言,用于简化JSP的输出
  • EL表达式的基本语法:${表达式}

EL的作用域对象

  • EL表达式内置四中作用域对象
  • 当我们忽略书写作用域对象时,EL则按作用域从小到大依次尝试获取
  • 如果这四个作用域都没又匹配到,则会输出空字符串
作用域对象描述
pageScope当前页面获取值
requestScope从当前请求中获取值
sessionScope从当前会话中获取值
applicationScope从整个web应用获取值

EL表达式输出

  • 基本语法:${作用域.属性名.子属性} (作用域可不写,取值则按作用域从小到大依次尝试获取)
  • EL表达式支持 简单的运算

EL的param内置对象

  • 用来简化请求体参数的输出w
  • 语法:${param.参数名}

我们在servlet中获取请求参数:request.getParameter("xxx")

在EL中表达式我们可以直接显示:${param.xxx}

JSTL标签库

JSTL(JSP Standard Tag Library),JSP标准标签库

EL表达式可以在JSP直接使用,但JSTL需要引入JSTL标签库才可以使用:

为什么要引入JSTL标签库

  • 不建议在JSP中直接写Java代码(规范性问题)

  • EL可以解决“不用书写java代码”的问题,但它不能遍历集合,做逻辑的控制。

  • JSTL可以解决取EL的不足之w处。

与EL表达式的关系:JSTL与EL联合使用。

JSTL的标签库种类

类别
核心标签库 - core
格式化输出标签库 - fmt
SQL操作标签库 - sql
XML操作标签库 -xml
函数标签库 - functions

如何使用核心标签库

  • 核心标签库提供了JSTL的基础功能:(包括:输出,循环,迭代,判断 …)
  • <%@ taglib prefix="c" uri="thhp://java.sun.com/jsp/jstl/core %>" 用于说明当前页面所使用的标签库
JSTL判断标签
  • JSTL提供了两组判断标签

    • <c:if> - 单分支判断

      • 没有else,使用并不方便

      • 使用test进行测试

        <c:if test = "${score >= 60 }"></c:if>
        	<h1> 恭喜,测试成功 </h1>
        </c:if>
        
    • <c:choose> <c:when> <c:otherwise> -多分支判断

      • test语句中字符串比较使用等号==,并且字符串用单引(为了与外边的双引号区分)

      • <c:choose>
        	<c:when test = "${level == 'A'}">
                <h2>你很优秀</h2>
            </c:when>
            <c:when test = "${level == 'B'}">
                <h2>你很一般</h2>
            </c:when>
            <c:otherwise>
                <h2>你需要努力</h2>
            </c:otherwise>
        </c:choose>
        
JSTL遍历集合

<c:forEach>标签用于遍历集合的每一个对象。

 <c:forEach var="p" items="${persons}" varStatus = "idx">
     第${idx.index + 1} 位
     姓名:${p.name}  性别:${p.sex}  年龄:${p.age}
 </c:forEach>

2020年还需要学JSP吗?https://zhuanlan.zhihu.com/p/117238806

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值