el表达式和标签库的简单使用!!!

news2024/12/23 4:06:44

备工作1:tomcat10.1.13版本,可去官网下载,不会下载的童靴看过来:如何正确下载tomcat???_明天更新的博客-CSDN博客

 准备工作2:添加架包(需要三个架包)

jstl架包,下载地址:有道云笔记

 准备好这三个架包后,创建一个普通的JavaWeb项目。

不太了解创建步骤的看这里:idea如何建立web项目???_明天更新的博客-CSDN博客

 1.搭建servlet环境

详细步骤:servlet初体验之环境搭建!!!_明天更新的博客-CSDN博客

2.if标签库的使用

Java代码(Servlet):

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;

/**
 * <p>Project: servlet-web-jstl - UserListServlet</p>
 * <p>Powered by scl On 2023-09-01 20:52:50</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
@WebServlet("/userListServlet")
public class UserListServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setContentType("text/html;charset=utf-8");
        req.setCharacterEncoding("utf-8");
        String age = req.getParameter("age");
        req.setAttribute("age",age);
        req.getRequestDispatcher("user.jsp").forward(req,resp);


    }
}

jsp代码:因为要使用到标签库,一定要加上这个:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>    适用tomcat10以上的版本

<%@ 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>
${age}
<c:if test="${age>18}">
  <h1>年龄大于18岁</h1>
</c:if>
<c:if test="${age<18}">
  <h1>年龄小于18岁</h1>
</c:if>
<c:if test="${age==18}">
  <h1>年龄为18岁,恭喜你以成年!!</h1>
</c:if>


</body>
</html>

结果显示:

3.foreach标签库的使用

Java代码(user类):

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn;

/**
 * <p>Project: servlet-web-jstl - UserEntity</p>
 * <p>Powered by scl On 2023-09-02 10:47:58</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
public class UserEntity {
    /**
     * 用户名称
     */
    private String username;
    /**
     * 用户年龄
     */
    private Integer age;
    /**
     * 状态 0:冻结状态   1:为冻结
     */
    private Integer start;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

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

    public Integer getStart() {
        return start;
    }

    public void setStart(Integer start) {
        this.start = start;
    }

    public UserEntity(String username, Integer age, Integer start) {
        this.username = username;
        this.age = age;
        this.start = start;
    }

    public UserEntity() {
    }
}

Java代码(servlet):

/*
 * Copyright (c) 2020, 2023,  All rights reserved.
 *
 */
package cn;

import com.sun.net.httpserver.HttpServer;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>Project: servlet-web-jstl - UserListServletFor</p>
 * <p>Powered by scl On 2023-09-02 10:45:16</p>
 * <p>描述:<p>
 *
 * @author 孙臣龙 [1846080280@qq.com]
 * @version 1.0
 * @since 17
 */
@WebServlet("/userListServletFor")
public class UserListServletFor extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req,resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        List<UserEntity> list=new ArrayList<>();
        list.add(new UserEntity("小明",14,0));
        list.add(new UserEntity("小红",22,1));
        list.add(new UserEntity("小绿",44,1));
        list.add(new UserEntity("小王",18,0));
        req.setAttribute("userList",list);
        req.getRequestDispatcher("userList.jsp").forward(req,resp);
    }
}

jsp页面:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: admin
  Date: 2023/9/2
  Time: 10:53
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<table border="1" align="center" style="border-collapse: collapse;width: 30%">
    <tr align="center">
        <th align="center">序号</th>
        <th align="center">名称</th>
        <th align="center">年龄</th>
        <th align="center">冻结</th>
        <th align="center">操作</th>
    </tr>
    <c:forEach items="${userList}" var="user" varStatus="m">
        <tr align="center">
            <td align="center">${m.index+1}</td>
            <td align="center">${user.username}</td>
            <td align="center">${user.age}</td>
            <td align="center"><c:if test="${user.start==0}">冻结状态</c:if><c:if test="${user.start==1}">未冻结</c:if></td>
            <td align="center"><a href="#">修改</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">删除</a></td>
        </tr>
    </c:forEach>
</table>
</body>
</html>

结果显示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/963106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

老师们快看过来,这里有使用ChatGPT当助教的方法

最近OpenAI官方博客发布了一篇文章How teachers are using ChatGPT&#xff08;老师们如何使用ChatGPT&#xff09;&#xff0c;讲的是老师们如何在教学中使用ChatGPT&#xff0c;其中有几个例子挺好的&#xff0c;我转述一下&#xff0c;希望对你有用。 制定教案 第一个例子…

[git]分支操作

Checkout 相当于切换到该分支&#xff0c;但是因为不能直接操作远程分支&#xff0c;会在本地同步一个完全一样的分支。 注意&#xff1a;切换分支前本地先进行提交&#xff08;addcommit&#xff09;&#xff0c;否则有可能代码会丢失。 New Branch from Selected... 创建一…

【小沐学Unity3d】3ds Max 多维子材质编辑(Multi/Sub-object)

文章目录 1、简介2、精简材质编辑器2.1 先创建多维子材质&#xff0c;后指定它2.2 先指定标准材质&#xff0c;后自动创建多维子材质 3、Slate材质编辑器3.1 编辑器简介3.2 编辑器使用 结语 1、简介 多维子材质&#xff08;Multi/Sub-object&#xff09;是为一个模形&#xff0…

信息安全检测和应用信息系统安全测试

安全测试 信息安全检测&#xff0c;为软件/信息系统出具的软件检测报告&#xff08;或第三方检测报告、软件安全测试报告&#xff09;&#xff0c;是信息系统/软件上线前都需要的测试报告。 信息安全检测的标准&#xff1a; 信息安全检测依据DB31/T272-2008《计算机信息系统…

【ICer的脚本练习】“精通各种语言的hello world!“

系列的目录说明请见&#xff1a;ICer的脚本练习专栏介绍与全流程目录_尼德兰的喵的博客-CSDN博客 前言 这一节呢主要是检查一下Linux和win环境是不是能正常的支持咱们的脚本学习&#xff0c;所以来答应各种语言的hello world!&#xff0c;毕竟打印了就是学会了٩(๑❛ᴗ❛๑)۶…

Nex.js Web 应用程序 SSG 与 SSR——选择正确的渲染方法

Next.js&#xff0c;一个流行的React框架&#xff0c;改变了开发人员构建现代Web应用程序的方式。它提供了强大的功能&#xff0c;例如服务器端渲染 &#xff08;SSR&#xff09; 和静态站点生成 &#xff08;SSG&#xff09;&#xff0c;可优化应用程序的性能和用户体验。在这…

03. 程序在内存中被CPU执行

1. 程序是什么&#xff1f; 程序是由指令和数据组成的。 当我们使用计算机运行一个程序时&#xff0c;计算机会读取程序中的指令一步步执行&#xff0c;直到达到程序结束的地方。 程序的指令&#xff1a;就像一份菜谱&#xff0c;告诉计算机按照哪些步骤来做事情。 程序的数…

【原创】H3C三层交换机的路由模式

网络拓扑图 将三层交换机当路由器使用 交换机配置 <H3C>dis stp briefMST ID Port Role STP State Protection0 GigabitEthernet1/0/1 DESI LEARNING NONE0 GigabitEthernet1/0/2 …

docker常用中间件安装

文章目录 1、前言2、中间件安装2.1、mysql2.2、gitlab容器2.3、nacos2.4、redis2.5、xxljob2.6、zipkin2.7、sentinel2.8、seata2.8.1、获取镜像2.8.2、运行容器并获取配置 2.9、rockerMQ2.9.1、rockerMQ-namesrv2.9.2、rockerMQ-broker2.9.3、rockerMQ-console 2.10、jenkins2…

java企业工程管理系统源码之提高工程项目管理软件的效率

高效的工程项目管理软件不仅能够提高效率还应可以帮你节省成本提升利润 在工程行业中&#xff0c;管理不畅以及不良的项目执行&#xff0c;往往会导致项目延期、成本上升、回款拖后&#xff0c;最终导致项目整体盈利下降。企企管理云业财一体化的项目管理系统&#xff0c;确保…

文件分片上传

概要 在日常开发中上传文件是常见的功能&#xff0c;像使用 SpringBoot 作为服务端接收上传的文件是很方便的&#xff0c;但是默认情况下 SpringBoot 为我限定了单次上传文件的大小&#xff0c;默认是1MB&#xff0c;当我们单次上传的大小超过1MB的时候就会报错&#xff0c;这…

Vmware虚拟机操作系统和本地操作系统互Ping要求、解决方式讲解

Vmware虚拟机操作系统和本地操作系统互Ping讲解 在虚拟化环境中&#xff0c;如VMware&#xff0c;虚拟机&#xff08;Virtual Machine&#xff0c;简称VM&#xff09;和本地操作系统之间进行Ping测试是一项常见的任务。Ping测试可用于检查虚拟机是否能够与本地操作系统或其他网…

wap2app 隐藏系统状态栏

一、首先创建wap2App项目 1、文件》新建》项目 2、选择Wap2App项目&#xff1a;输入项目名称、网站首页地址&#xff08;如果是本地localhost的话改为你的IP地址即可&#xff09;&#xff0c;点击创建 二、创建完wap2App项目后 隐藏系统状态栏只要修改1、2选项即可 1、找到根…

智慧工地源码 智慧大屏、手机APP、SaaS模式

一、智慧工地可以通过安全八要素来提升安全保障&#xff0c;具体措施包括&#xff1a; 1.安全管理制度&#xff1a;建立科学完善的安全管理制度&#xff0c;包括安全标准规范、安全生产手册等&#xff0c;明确各项安全管理职责和要求。 2.安全培训教育&#xff1a;对工地人…

港科夜闻|香港科大商学院李莹莹教授获研究资助局(RGC)授予研资局高级研究员头衔...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大商学院李莹莹教授获研究资助局(RGC)授予“研资局高级研究员”头衔。李教授的研究项目“金融风险大数据”将利用金融大数据进行严谨、全面的统计研究&#xff0c;更准确地进行风险评估和预测&#xff0c;构建高质…

Linux内核开启BBR加速

升级内核 BBR 模块从 4.9 版本的内核中开始支持&#xff0c;CentOS7 的发布版标配的是 kernel-3.10&#xff0c;所以首先需要升级内核到大于等于 4.9 的版本&#xff0c;然后再更改设置开启 BBR。 查看内核版本 1) uname -r 3.10.0-1160.71.1.el7.x86_64YUM方式升级安装 1&…

跨境做独立站,如何低成本引流?

大家都知道&#xff0c;海外的消费习惯与国内不同&#xff0c;独立站一向是海外消费者的最喜欢的购物方式之一&#xff0c;这也吸引了许多跨境商家开设独立站。 独立站不同于其他的第三方平台&#xff0c;其他平台可以靠平台自身流量来获得转化&#xff0c;而独立站本身没有流…

django.core.exceptions.AppRegistryNotReady: Apps aren‘t loaded yet.

运行django测试用例报错django.core.exceptions.AppRegistryNotReady: Apps arent loaded yet. 解决&#xff1a;在测试文件上方加上 django.setup() django.setup()是Django框架中的一个函数。它用于在非Django环境下使用Django的各种功能、模型和设置。 在常规的Django应用…

63.C++ mutable关键字

mutable 是C中的一个关键字&#xff0c;它用于修饰类的成员变量。当一个成员变量被声明为 mutable 时&#xff0c;它将允许在常量成员函数中修改这个成员变量的值&#xff0c;即使这个成员函数被声明为 const。 常量成员函数是类的成员函数&#xff0c;它们承诺不会修改类的成…

构建现代应用:Java中的热门架构概览

文章目录 1. 三层架构2. Spring框架3. 微服务架构4. Java EE&#xff08;Enterprise Edition&#xff09;5. 响应式架构6. 大数据架构7. 领域驱动设计&#xff08;Domain-Driven Design&#xff0c;DDD&#xff09;8. 安卓开发架构结论 &#x1f389;欢迎来到Java学习路线专栏~…