您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

JSP标签库和EL表达式

本章学习目录

  • 问题的引出:由于jsp文件下html标签和Java标签混合使用比较混乱
  • 问题的解决:引入了jsp标签库和EL表达式,对java代码进行了简化
  • 页内目录
    一,jsp标签的介绍
    二,标签库和EL表达式的使用
    三,EL表达式和核心标签的使用

一,jsp标签的介绍

  • jsp标签库:JSP标准标签库是一个JSP标签集合,它封装了JSP应用的通用核心功能,JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

二,标签库的使用

  • 都学到这了,本地仓库什么的应该已经搭建好了,所以直接将下面的坐标放入<dependencies></dependencies>
    <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
  • 然后在每个jsp文件进行引用,写入如下标签库代码:
<!--引入标签库文件  prefix:指定前缀  uri:指定标签库文件-->
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
  • 并在已有指令中设置不忽略EL表达式isELIgnored="false如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false"%>

三,EL表达式和核心标签的使用

  • EL表达式:主要用于计算并向页面输出内容,它是用来替换表达式<%=%>
    由于EL表达式语法简洁、功能强大,我们在页面中大量的使用EL表达式
    EL表达式的语法:${}
  • out标签<c:out value="xxxxx"></c:out>:用于计算并向页面输入内容value:要输出的内容,默认为字符串,
    属性介绍:
    可以使用EL表达式获取作用域的数据(后面讲EL表达式)
    default:当value未取得数据时,输出default内的值
    escapeXml:是否对value中的html标签进行解析,默认为不解析
  • 设置,输出,移除值标签:向作用域中设置属性标签该标签等于jsp中的方法setAttribute()
    设置:<c:set var="username" value="admin" scope="session"></c:set>
    输出:<c:out value="${username}"></c:out>
    移除:<c:remove var="username" scope="session"></c:remove>
    属性介绍:
    var:属性名
    value:属性值
    scope:作用域,将属性存入到哪个作用域中
  • if标签<c:if test="${1<2}">xxxxxx</c:if> 单分支判断
    属性介绍:
    test:判断条件,当满足test条件时执行标签体,为false时不执行
  • choose标签:等同于switch标签,当when的条件成立时执行对应的标签体,如果所有的when都不成立,则执行otherwise标签体
    <c:choose>
    <c:when test="">分支一</c:when>
    <c:when test="">分支二</c:when>
    <c:otherwise>分支三</c:otherwise>
    </c:choose>
  • forEach标签:等同于Java中的for循环增强
    <c:forEach items="" var="" varStatus="">
    </c:forEach>
    属性介绍:
    items:要遍历的集合(从作用域中获取)
    var:将集合中的每个元素赋给var所指定的变量,在标签体中直接使用该变量
    varStatus:循环状态变量,可以通过该变量获得下标及循环统计
    <c:forEach begin="" end="" step="" varStatus="">
    </c:forEach>
    属性介绍:
    begin:从哪里开始
    end:到哪里结束
    step:步长

分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进