JSTL

1、jstl标签的基本概述

JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样, 也是要放到jsp页面中的脚本代码。JSTL标准标准标签库有5个子库,但随着发展,目前常使用的是它的核心库Core

标签库标签库的URL前缀
Corehttp://java.sun.com/jsp/jstl/corec
I18Nhttp://java.sun.com/jsp/jstl/fmtfmt
SQLhttp://java.sun.com/jsp/jstl/sqlsql
XMLhttp://java.sun.com/jsp/jstl/xmlx
Functionshttp://java.sun.com/jsp/jstl/functionsfn

2、jstl标签的安装

下载JSTL的JAR包
http://tomcat.apache.org/download-taglibs.cgi

导入jar包
在这里插入图片描述
使用taglib指令在jsp页面导入要使用的jstl标签库

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

在jsp书写"<c:",看到如下提示,说明安装成功:
在这里插入图片描述

3、常见的jstl标签

jstl的核心标签内容有很多,现在目前还常用的标签只有if、foreach标签。

3.1、if标签

if标签的作用

起到java代码的判断的作用

if标签属性介绍

属性名是否支持EL属性类型属性描述
testtrueboolean决定是否处理标签体中的内容的条件表达式
varfalseString用于指定将test属性的执行结果保存到某个Web域中的某个属性的名称
scopefalseString指定将test属性的执行结果保存到哪个Web域中

test:判断是否执行标签内的内容(true——执行标签中的内容,false,不执行)。

var:用来保存test属性的结果(使用var属性给他取个名字),这个结果可以保存到指定的web域中, 默认保存在pageContext域。

scope:指定保存数据的到哪个web域。

3.2、forEach标签

forEach标签作用
起到java代码的for循环作用

forEach标签属性介绍
在这里插入图片描述
var:在不循环对象的时候,保存的是控制循环的变量;在循环对象的时候,保存的是被循环对象中的元素

items:指定要循环的对象

varStatus:保存了当前循环过程中的信息(循环的开始、结束、步长、次数等)

begin:设置循环的开始

end:设置循环的结束

step:设置步长

if和foreach代码演示

<%@ page import="java.util.List" %>
<%@ page import="com.bdit.Student" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core_1_1" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>jstl</title>
  </head>
  <body>
      <h2>c:if判断语句</h2>
      <!--test是判断条件,scope存入那个域中,var将结果赋值给一个变量-->
      <c:if test="${5>3}" scope="page" var="one">
        <p>如果5>3true就会输出这句话</p>
      </c:if>
      ${one}
      ${pageContext.getAttribute("one")}

      <c:if test="5>3">

      </c:if>

      <h2>c:forEach循环</h2>
      <!--begin开始的数,end结束的数,step步长,var将结果赋给一个变量-->
      <c:forEach begin="1" end="10" step="2" var="two">
        ${two}
      </c:forEach>
      <br>
      <%
        List<Student> list=new ArrayList<>();
        list.add(new Student("lisi",18));
        list.add(new Student("wangwu",19));
        list.add(new Student("xiaoming",20));
        pageContext.setAttribute("list",list);
      %>
        <!--varStatus当前信息保存在那个域中-->
        <c:forEach items="${list}" var="three" varStatus="statu">
          索引-->${statu.index}  &nbsp; 行号-->${statu.count}&nbsp;
          ${three.name} &nbsp; ${three.age}<br>
        </c:forEach>
  </body>
</html>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值