JavaWeb——JSTL标签库

1、JSTL标签库

JSTL标签库:全称是JSP Standard Tag Library JSP标签库,是一个不断完善的开放源代码的JSP标签库
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本,这样使得整个jsp页面变得更加简洁

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

1.1、JSTL的安装

  1. jstl jar包的下载
    jar包下载
  2. 导入jar包
    在这里插入图片描述
  3. 有代码提示就是导好了

在这里插入图片描述

1.2、JSTL的使用

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.Map" %>
<%@ page import="bean.Person" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" errorPage="/2.jsp" %>
<html>
<head>
    <title>这是一个jsp页面</title>
</head>
<body>
<%--1.set保存数据的方式
       域对象.setAttribute(key,value);
       scope 属性设置保存到哪个域中
            page表示pageContext(默认值)
            request表示Request域
            session表示Session域
            appliction表示ServletContext域
       var设置key
       value设置value
--%>
    保存之前:${pageScope.dcd}<br>
    <c:set scope="page" var="dcd" value="np"/>
    保存之后:${pageScope.dcd}<br>


<%--2.if标签
    test属性表示判断的条件(使用EL表达式输出)
    没有if-else的写法,要写的话只能使用多个if语句进行表示
--%>
    <c:if test="${12==12}">
        <h1>12==12</h1>
    </c:if>

<%--3.多路判断
    choose标签开始选择判断
    when标签表示每一种判断情况
        test表示判断条件
    注意:
        注释使用的是jsp注释
        如果想要在otherwise里面使用when标签,一定要加上<c:choose>
--%>
<%
    request.setAttribute("height",165);
%>
<c:choose>
    <c:when test="${requestScope.height>180}">
        <h1>很高高</h1>
    </c:when>
    <c:when test="${requestScope.height>170}">
        <h1>还行</h1>
    </c:when>
    <c:otherwise>
        <c:choose>
            <c:when test="${requestScope.height>160}">
                <h1>大于160</h1>
            </c:when>
        </c:choose>
    </c:otherwise>
</c:choose>

<%--4.foreach遍历
    begin:设置开始的索引
    end:设置结束的索引
    step:表示步长值
    var:表示遍历的变量
    varStatus:表示当前遍历到的数据的状态
--%>
    <c:forEach begin="1" end="100" var="i">
        ${i}<br>
    </c:forEach>

<%--5.遍历Object数组
    items表示遍历的数据源(遍历的数据)

--%>
    <%
        request.setAttribute("arr",new String[]{"1236546","89782313"});
    %>
    <c:forEach items="${requestScope.arr}" var="item">
        ${item}<br>
    </c:forEach>

<%--6.遍历map

--%>
    <%
        HashMap<String, Object> map = new HashMap<>();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
//        for(Map.Entry<String,Object> entry:map.entrySet()){}
        request.setAttribute("map",map);
    %>
    <c:forEach items="${requestScope.map}" var="entry">
        ${entry.key}
        ${entry.value}<br>
    </c:forEach>

</body>
</html>

status中的一些方法
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值