JSP、EL和JSTL-学习笔记04【JSTL常用标签】_jspp上有一个叫厚德载物的吗_upward337的博客-程序员宅基地

技术标签: jstl  foreach  java  jsp  choose  JavaWeb  

  1. JSP、EL和JSTL-学习笔记01【JSP基础语法】
  2. JSP、EL和JSTL-学习笔记02【MVC】
  3. JSP、EL和JSTL-学习笔记03【EL介绍和运算符、EL获取域中存储的数据】
  4. JSP、EL和JSTL-学习笔记04【JSTL常用标签】

目录

第5节 JSTL常用标签

JSTL_概述

JSTL_常用标签_if

JSTL_常用标签_choose

JSTL_常用标签_foreach

1、foreach普通遍历

2、foreach遍历容器

JSTL_练习

User.java

jstl_test.jsp


第5节 JSTL常用标签

JSTL_概述

JSTL

1. 概念:JavaServer Pages Tag Library  JSP标准标签库
    * 是由Apache组织提供的开源的免费的jsp标签        <标签>

2. 作用:用于简化和替换jsp页面上的java代码        

3. 使用步骤:
    1. 导入jstl相关jar包
    2. 引入标签库:taglib指令:  <%@ taglib %>
    3. 使用标签

JSTL_常用标签_if

JSTL
1. 概念:JavaServer Pages Tag Library,JSP标准标签库
    * 是由Apache组织提供的开源的免费的jsp标签。(<标签>)

2. 作用:用于简化和替换jsp页面上的java代码。

3. 使用步骤:
    1. 导入jstl相关jar包
    2. 引入标签库:taglib指令:  <%@ taglib %>
    3. 使用标签

4. 常用的JSTL标签
    1. if:相当于java代码的if语句。
        1. 属性:
            * test 必须属性,接受boolean表达式
                * 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
                * 一般情况下,test属性值会结合el表达式一起使用
            2. 注意:
                * c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签
    2. choose:相当于java代码的switch语句。
    3. foreach:相当于java代码的for语句。

JSTL_常用标签_choose

JSTL
1. 概念:JavaServer Pages Tag Library,JSP标准标签库
    * 是由Apache组织提供的开源的免费的jsp标签。(<标签>)

2. 作用:用于简化和替换jsp页面上的java代码。

3. 使用步骤:
    1. 导入jstl相关jar包
    2. 引入标签库:taglib指令:  <%@ taglib %>
    3. 使用标签

4. 常用的JSTL标签
    1. if:相当于java代码的if语句。
        1. 属性:
            * test 必须属性,接受boolean表达式
                * 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
                * 一般情况下,test属性值会结合el表达式一起使用
            2. 注意:
                * c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签
    2. choose:相当于java代码的switch语句。
        1. 使用choose标签声明                                 相当于switch声明
        2. 使用when标签做判断                                 相当于case
        3. 使用otherwise标签做其他情况的声明        相当于default

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

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

JSTL_常用标签_foreach

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开始

1、foreach普通遍历

2、foreach遍历容器

JSTL_练习

JSTL

1. 概念:JavaServer Pages Tag Library,JSP标准标签库
    * 是由Apache组织提供的开源的免费的jsp标签。(<标签>)

2. 作用:用于简化和替换jsp页面上的java代码。

3. 使用步骤:
    1. 导入jstl相关jar包
    2. 引入标签库:taglib指令:  <%@ taglib %>
    3. 使用标签

4. 常用的JSTL标签
    1. if:相当于java代码的if语句。
        1. 属性:
            * test 必须属性,接受boolean表达式
                * 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
                * 一般情况下,test属性值会结合el表达式一起使用
            2. 注意:
                * c:if标签没有else情况,想要else情况,则可以在定义一个c:if标签
    2. choose:相当于java代码的switch语句。
        1. 使用choose标签声明                     相当于switch声明
        2. 使用when标签做判断                     相当于case
        3. 使用otherwise标签做其他情况的声明        相当于default
    3. foreach:相当于java代码的for语句。
        
5. 练习:
    * 需求:在request域中有一个存有User对象的List集合。需要使用jstl+el,将list集合数据展示到jsp页面的表格table中。

User.java

package cn.itcast.domain;

import java.text.SimpleDateFormat;
import java.util.Date;

public class User {
    private String name;
    private int age;
    private Date birthday;

    public User(String name, int age, Date birthday) {
        this.name = name;
        this.age = age;
        this.birthday = birthday;
    }

    public User() {
    }

    /**
     * 逻辑视图
     *
     * @return
     */
    public String getBirStr() {
        if (birthday != null) {
            //1.格式化日期对象
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            //2.返回字符串即可
            return sdf.format(birthday);
        } else {
            return "";
        }
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
}

jstl_test.jsp

<%@ page import="cn.itcast.domain.User" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
    <title>test</title>
</head>
<body>
    <%
        List list = new ArrayList();
        list.add(new User("张三", 23, new Date()));
        list.add(new User("李四", 24, new Date()));
        list.add(new User("王五", 25, new Date()));
        request.setAttribute("list", list);
    %>
    <table border="1" width="500" align="center">
        <tr>
            <th>编号</th>
            <th>姓名</th>
            <th>年龄</th>
            <th>生日</th>
        </tr>
        <%--数据行--%>
        <c:forEach items="${list}" var="user" varStatus="s">
            <c:if test="${s.count % 2 != 0}">
                <tr bgcolor="red">
                    <td>${s.count}</td>
                    <td>${user.name}</td>
                    <td>${user.age}</td>
                    <td>${user.birStr}</td>
                </tr>
            </c:if>
            <c:if test="${s.count % 2 == 0}">
                <tr bgcolor="green">
                    <td>${s.count}</td>
                    <td>${user.name}</td>
                    <td>${user.age}</td>
                    <td>${user.birStr}</td>
                </tr>
            </c:if>
        </c:forEach>
    </table>
</body>
</html>

加油~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44949135/article/details/113818479

智能推荐

mysql的动态sql实现变量表名及占位符的使用_sql语句用占位符赋值表名_time倾听下的博客-程序员宅基地

MySQL 在存储过程中是不支持直接使用变量名作为表名或者是列名的,而在实际的应用中确实会用到变表名或者变量名的情况,如数据量很大的时候就会用到分表。通过在网上查了mysql 5.1以上的版本提供了prepare语句用于支持这种操作。参考http://blog.csdn.net/shark1682003/article/details/17785095博客的内容,完成了动态表名的查询。具体实现是通过_sql语句用占位符赋值表名

Pdg转Pdf_pdz转pdf linux_wan123pp的博客-程序员宅基地

简介:你是否还在为下载来的超星PDG格式的资料的诸多不便烦恼呢,转化成PDF格式吧!而这款转化软件绝对是我用过的多种软件中最好的!从此以后,不再为PDG而烦恼! 有需要该软件的与我联系,[email protected] QQ:1144739878_pdz转pdf linux

机器学习十大算法(四)逻辑回归 (本质,极大似然估计)_black2b的博客-程序员宅基地

概念假设有一个二分类问题,输出为y∈{0,1},而线性回归模型产生的预测值为z=wTx+b是实数值,我们想有一个理想的阶跃函数来帮我们实现z值到0,1的转化。然而该函数不连续,我们希望有一个单调可微的函数来供我们使用,于是遍找到了sigmoid来替代。两者的图像如下图所示:有了Sigmoid之后,由于其取值在[0,1],我们就可以将其视为类1的后验概率p(y=1|x)。...

数据结构:图:图形和图形模型(Graphs and Graph Models)_柏拉图的双斜杠的博客-程序员宅基地

章节总结 图形和图形模型 图形术语和特殊类型的图形 表示图形和图形同构 连通性 欧拉和哈密顿图 最短路径问题 Chapter Summary Graphs and Graph Models Graph Terminology and Special Types of Graphs Representing...

sass选择器-程序员宅基地

一、嵌套1、简单嵌套#father { background: pink; .child1 { color: orange; } .child2 { color: green; }}2、用&标识符的嵌套#father a { color: pink; &:hover { color: orange; }}让父元素下所有的a标签都拥有hover效果。3、群组选择器的嵌套#father { h1, h2, h3

RPC&Dubbo基础介绍_rpc doubble-程序员宅基地

RPC什么是RPCRPC–远程过程调用。也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。RPC 是一个请求响应模型。客户端发起请求,服务器返回响应。RPC是一种技术思想而不是一种规范或者协议。有许多基于这种技术思想的RPC框架,例如,dubbo、Google gRPC、spring cloud等RPC框架–可以让程序员来调用远程进程上的代码一套工具。有了RPC框架,程序员就轻_rpc doubble

随便推点

n个元素顺序进栈,那么出栈的顺序有多少种?_n个元素进栈共有多少种出栈顺序_共勉的博客-程序员宅基地

我们把n个元素的出栈个数的记为f(n), 那么对于1,2,3, 我们很容易得出:  f(1) = 1  f(2) = 2  f(3) = 5  然后我们来考虑f(4), 我们给4个元素编号为1,2,3,4, 那么考虑:元素1出栈顺序可能出现在1号位置,2号位置,3号位置和4号位置(很容易理解,一共就4个位置,比如1234,元素1就在1号位置)。  分析:  1) 如果元素1在1号位置,那么只可_n个元素进栈共有多少种出栈顺序

JQuery UI Dialog 参数传递及事件交互技术_dialog传参_my98800的博客-程序员宅基地

JQuery UI Dialog 是主页面和子页面交互的常用控件,经常碰到的问题是:参数传递,事件交互和页面元素的清除回收。本文使用MVC4,JQuery,Html开发做以示例。1. Dialog打开的代码示例如下:[javascript] view plain copyvar chatDialog = $("#divChatDi_dialog传参

LinuxONE根据lsluns确认对应磁盘_wangwei830的博客-程序员宅基地

###########如果扫不到盘;可根据lsluns看到得链路确认是否为的无效链路。################1、第一步:lsluns确认有几块盘。看到几块有几块。注意:看到几块扫盘就是扫几块,千万别扫多。Scanning for LUNs on adapter 0.0.0001at port 0x500507680c17c768:0x00000000000000000x00010000000000000x00020000000000000x00030000000000000x00_lsluns

YOLOv5 ——极市平台:口罩识别_return x if self.training else (torch.cat(z, 1),) _ZerosCoder的博客-程序员宅基地

YOLOv5 导出到推理(极市平台)_return x if self.training else (torch.cat(z, 1),) if self.export else (torch

前端工程师切图技能——PS工具准备_前端常用切图工具_Kabutack的博客-程序员宅基地

此文适合还在对着某张设计稿,苦逼求进的前端小白。_前端常用切图工具

推荐文章

热门文章

相关标签