(Java)JSTL的核心标签库使用

JSTL的核心标签库使用

1 jstl标签的基本概述

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

标签库标签库的URI前缀
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标签的安装

2.1 导入jar包

javax.servlet.jsp.jstl.jar
standard.jar

2.2 使用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标签属性介绍:

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

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

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

  • if标签演示

<%--
    if标签的使用
--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%
        int num=10;
        pageContext.setAttribute("num",num);
    %>

    <c:if test="${num>5}">
        num 大于5
    </c:if>
    <c:if test="${num<=5}">
        num 小于等于5
    </c:if>

    <%--将判断结果 保存到var属性中, 并指定存到的域对象--%>
    <c:if test="${num == 100}" var="result" scope="request">
    </c:if>

    <h3>取出域对象中的值</h3>
    ${result}
</body>
</html>

3.2 forEach标签 重点重点重点

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

  • forEach标签属性介绍:

    • var:在不循环对象的时候,保存的是控制循环的变量;在循环对象的时候,保存的是被循环对象中的元素
    • items:指定要循环的对象
    • varStatus:保存了当前循环过程中的信息(循环的开始、结束、步长、次数等)
    • begin:设置循环的开始
    • end:设置循环的结束
    • step:设置步长
      在这里插入图片描述
  • foreach演示

<%@ page import="com.itheima.pojo.User" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%--
    forEach标签的使用
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <%--foreach标准循环--%>
    <c:forEach begin="1" end="5" var="i" step="2">
        ${i}<br>
    </c:forEach>

    <%--准备集合数据到域中,用于遍历--%>
    <%
        List<User> list = new ArrayList<User>();
        list.add(new User("迪丽热巴","1234566"));
        list.add(new User("古力娜扎", "abcdef"));
        request.setAttribute("list",list);
    %>
    <%--foreach遍历集合--%>
    <c:forEach items="${list}" var="user" varStatus="vs">
        ${user.username} == ${user.password} == ${vs.count} <br>
    </c:forEach>
</body>
</html>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值