EL与JSTL表达式

EL语法

  1. EL表达式(Expression Language)
  • E L 表 达 式 例 如 : {EL 表达式} 例如: EL{username}
  1. EL操作
  • 操作符“.”
    获取对象的属性,例如:${news.title}
  • 操作符“[]”
    获取对象的属性,例如: n e w s [ " t i t l e " ] 获 取 集 合 中 的 对 象 , 例 如 : {news["title"]} 获取集合中的对象,例如: news["title"]{newsList[0]}

EL运算符

  • 为了避免JSP混淆运算符和页面关键字,很多运算符都有替代写法:

在这里插入图片描述
在这里插入图片描述

EL功能

  • 取得JavaBean对象的属性
    ${news.title}相当于news.getTitle();
  • 取得数组、List、Map类型对象的元素
    ${list[0]}
  • 使用各类运算符对原始数据进行简单处理
    ${totalRecordCount/pageSize}
  • 屏蔽一些常见的异常
    ${username}
  • 能实现简单的自动类型转换
    ${news}相当于(News)request.getAttribute(“news”)

EL访问作用域

  1. 设置数据保存到指定作用域
    request.setAttribute(“news”, news);
  2. 两种方式取数据:
    使用Java小脚本:request.getAttribute(“news”);
    使用EL表达式:${ news } 或者 ${ requestScope.news }
  3. 作用域:
    在这里插入图片描述

JSTL介绍

  1. JSTL(JavaServerPages Standard Tag Library)
    JSP标准标签库
    实现JSP页面中的逻辑控制
  2. JSTL使用步骤
  • 下载jstl.jar和standard.jar包
  • 将这两个包复制到WEB-INF\lib目录
  • 在JSP页面中添加指令:<%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>

JSTL标签分类:
在这里插入图片描述

  • 核心标签库
    <%@ taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c” %>
  • 国际化/格式化标签库
    <%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>

<c:out/>标签

  • 语法:<c:out value=“value” default=“default” escapeXml=“true|false” />
    value:需要输出显示的表达式。
    default:默认输出显示的值。
    escapeXml:是否对输出的内容进行转义。

设置变量和对象属性

  1. 设置变量
  • 语法:<c:set var=“name” value= “value” scope=“scope” />
    var:表示变量名称。
    value:表示变量的值。
    scope:存在的作用域。
  1. 设置对象属性
  • 语法:<c:set value= “value” target=“target” property=“propertyName” />
    value:表示属性的值。
    target:表示对象。
    property:表示对象的属性名称。

<c:forEach/>标签

  • <c:forEach/>迭代标签
  • 实现对集合的遍历
  • 语法:
    <c:forEach var=“varName” items=“items” varStatus=“varStatus”>
    ……
    </c:forEach>
    var:集合中元素的名称。
    items:集合对象。
    varStatus:当前循环的状态信息,例如循环的索引号。

<c:if/>标签

  • <c:if/>条件标签
  • 实现条件的判断
  • 语法:
    <c:if test=“boolean” var=“varName” scope=“scope”>
    ……
    </c:if>
    test:条件(必须的,无默认值)。
    var:用于存储条件结果的变量(非必须的,无默认值)。
    scope:var属性的作用域(非必须的,默认恩智page)。

<c:choose>, <c:when>, <c:otherwise> 标签

  • <c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。
  • 语法:
    <c:choose>
    <c:when test="">

    </c:when>
    <c:when test="">

    </c:when>


    <c:otherwise>

    </c:otherwise>
    </c:choose>
  • 更多标签学习:https://www.runoob.com/jsp/jsp-jstl.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值