首页 > 其他分享 >JSTL-常用标签-if、choose、foreach

JSTL-常用标签-if、choose、foreach

时间:2022-12-18 14:46:02浏览次数:40  
标签:java 标签 JSTL foreach 相当于 choose

JSTL-常用标签-if

if:相当于java代码的if语句

  1. 属性:

    test 必须属性,接受boolean表达式

    如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容

    一般情况下,test属性值会结合el表达式一起使用

  2. 注意:

    c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>if标签</title>
</head>
<body>

    <%--

    c:if标签
        1. 属性:
            * test 必须属性,接受boolean表达式
                * 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
                * 一般情况下,test属性值会结合el表达式一起使用

        2. 注意:c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签


    --%>

    <c:if test="true">
        <h1>我是真...</h1>
    </c:if>
    <br>

    <%
        //判断request域中的一个list集合是否为空,如果不为null则显示遍历集合

        List list = new ArrayList();
        list.add("aaaa");
        request.setAttribute("list",list);

        request.setAttribute("number",4);

    %>

    <c:if test="${not empty list}">
        遍历集合...

    </c:if>
    <br>

    <c:if test="${number % 2 != 0}">

            ${number}为奇数

    </c:if>

    <c:if test="${number % 2 == 0}">

        ${number}为偶数

    </c:if>

</body>
</html>

 

JSTL-常用标签choose

choose:   相当于java代码的switch语句

  1. 使用choose标签声明 相当于switch声明

  2. 使用when标签做判断 相当于case

  3. 使用otherwise标签做其他情况的声明 相当于default

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

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

<html>
<head>
    <title>choose标签</title>
</head>
<body>

    <%--
        完成数字编号对应星期几案例
            1.域中存储一数字
            2.使用choose标签取出数字         相当于switch声明
            3.使用when标签做数字判断         相当于case
            4.otherwise标签做其他情况的声明  相当于default
    --%>

    <%
        request.setAttribute("number",51);
    %>

    <c:choose>
        <c:when test="${number == 1}">星期一</c:when>
        <c:when test="${number == 2}">星期二</c:when>
        <c:when test="${number == 3}">星期三</c:when>
        <c:when test="${number == 4}">星期四</c:when>
        <c:when test="${number == 5}">星期五</c:when>
        <c:when test="${number == 6}">星期六</c:when>
        <c:when test="${number == 7}">星期天</c:when>

        <c:otherwise>数字输入有误</c:otherwise>
    </c:choose>


</body>
</html>

 

JSTL-常用标签foreach

 

 foreach:相当于java代码的for语句

<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

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

<html>
<head>
    <title>foreach标签</title>
</head>
<body>

<%--

    foreach:相当于java代码的for语句
        1. 完成重复的操作
            for(int i = 0; i < 10; i ++){

            }
            * 属性:
                begin:开始值
                end:结束值
                var:临时变量
                step:步长
                varStatus:循环状态对象
                    index:容器中元素的索引,从0开始
                    count:循环次数,从1开始
        2. 遍历容器
            List<User> list;
            for(User user : list){

            }

            * 属性:
                items:容器对象
                var:容器中元素的临时变量
                varStatus:循环状态对象
                    index:容器中元素的索引,从0开始
                    count:循环次数,从1开始


--%>

<c:forEach begin="1" end="10" var="i" step="2" varStatus="s">
    ${i} <h3>${s.index}<h3> <h4> ${s.count} </h4><br>

</c:forEach>

    <hr>


    <%
        List list = new ArrayList();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");

        request.setAttribute("list",list);


    %>

    <c:forEach items="${list}" var="str" varStatus="s">

            ${s.index} ${s.count} ${str}<br>

    </c:forEach>


</body>
</html>

 

标签:java,标签,JSTL,foreach,相当于,choose
From: https://www.cnblogs.com/yuzong/p/16990368.html

相关文章

  • JSTL练习
    JSTL练习需求:在request域中有一个存有User对象的List集合。需要使用jstl+el将list集合数据展示到jsp页面的表格table中<%@pageimport="cn.itcast.domain.User"%><%@......
  • EL-empty运算符&隐式对象pageContext、JSTL概述
    EL-empty运算符空运算符:empty功能:用于判断字符串、集合、数组对象是否为null或者长度是否为0${emptylist}:判断字符串、集合、数组对象是否为null或者长度为0......
  • TypeError: forEach is not a function in JavaScript
     以下代码: constparent=this.el.parentElementconsole.log(parent.children)parent.children.forEach(child=>{console.log(child)}) 运行后出现以下错......
  • jsp页面通过JSTL表达式获取session中存储的对象的属性
    1.将user对象存入session  request.getSession().setAttribute("user",userSession);2.User类 publicclassUser{privateStringuserId;privateStringuser......
  • foreach
    foreach:自动将代码置入try-finally块;若类型实现了IDispose接口,它会在循环结束后自动调用Dispose方法。 using是try-finally的语法糖。 集合版本:任何对集合进行增删......
  • js数组中map和forEach如何跳出本身'循环'
    return是停止本函数体执行并返回而map,forEach里面所执行的都是函数个体,return一个,其余的也会继续执行所以,某种程度上来说,map、forEach是不能跳出本身的'循环'的从跳出......
  • forEach循环报NPE
    首先,foreach循环内部是使用的迭代器来遍历,也就是说,这种遍历方式和使用迭代器来遍历是一样的。场景一如果一个集合赋值为null,那么对该集合进行foreach循环(也叫增强for循......
  • ECSHOP Foreach循环中定义变量 根据遍历进行判断(小技巧)
               <divclass="main"style="width:590px;height:442px;">            <!--{assignvar="i"value="1"} ......
  • Taro3 无法使用 chooseAvatar
    参考https://taro-docs.jd.com/docs/GETTING-STARTED#常见问题https://developers.weixin.qq.com/community/develop/doc/0000401a62c5c02ca48db70495c800解决过程开......
  • js forEach和 map 区别
    Array.prototype.forEach()forEach()方法对数组的每个元素执行一次给定的函数。forEach()方法按升序为数组中含有效值的每一项执行一次callbackFn函数,那些已删除或者......