IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Javaweb - JSP章节 - JSP缺点,EL表达式,JSTL标签 -> 正文阅读

[Java知识库]Javaweb - JSP章节 - JSP缺点,EL表达式,JSTL标签

JSP缺点

  • 由于JSP页面内,即可以定义HTML标签,又可以定义Java代码,造成了以下问题
  1. 书写麻烦:特别是复杂的页面
  2. 阅读麻烦
  3. 复杂度高:运行需要依赖于各种环境,JRE,JSP容器,JavaEE
  4. 占内存和磁盘:JSP会自动生成.java和.class文件占磁盘,运行的是.class文件占内存
  5. 调试困难:出错后,需要找到自动生成的.java文件进行调试
  6. 不利于团队协作:前端人员不会Java,后端人员不精HTML
  7. 请添加图片描述

EL表达式

简介

  • Expression Language表达式语言,用于简化JSP页面内的Java代码
  • 主要功能:获取数据
  • 语法:${expression}

例如

${brands}	//获取域中存储的key为brands的数据

案例演示

编写Servlet

创建ServletDemo1

java -> taotao -> web

编写jsp

创建el_demo.jsp

webapp -> el_demo.jsp

<%--
  Created by IntelliJ IDEA.
  User: guigui
  Date: 2022/3/29
  Time: 9:09
  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>
    ${brands}
</body>
</html>

运行测试

一片白,不知道哪的问题,不管了

请添加图片描述

JavaWeb中的四大域对象

  1. page:当前页面有效
  2. request:当前请求有效
  3. session:当前会话有效
  4. application:当前应用有效

el表达式获取数据,会依次从这4个域中寻找,直到找到为止

请添加图片描述

JSTL标签

简介

  • JSP标准标签库(Jsp Standarded Tag Library),使用标签取代Jsp页面上的Java代码

请添加图片描述

c:if

如果表格中的status的值为1,test框就输出“启用”,否则输出“禁用”

引入包

编写pom.xml

        <dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

编写jsp

新建jstl_if.jsp

<%--
  Created by IntelliJ IDEA.
  User: guigui
  Date: 2022/3/29
  Time: 9:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--
    c:if:来完成逻辑判断,替换java if else
--%>

<c:if test="${status == 1}">
    启用
</c:if>

<c:if test="${status == 0}">
    禁用
</c:if>
</body>
</html>

更改Servlet转发路径

req.getRequestDispatcher("/jstl_if.jsp").forward(req,resp);

测试运行

请添加图片描述

c:forEach

相当于for循环

  • items:被遍历的容器
  • var:遍历产生的临时变量
  • varStatus:遍历状态对象
  • begin:开始数
  • end:结束数
  • step:步长

请添加图片描述

编写jsp

<%--
  Created by IntelliJ IDEA.
  User: guigui
  Date: 2022/3/29
  Time: 9:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ page isELIgnored="false" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%--
    c:if:来完成逻辑判断,替换java if else
--%>

<c:if test="${status == 1}">
    启用
</c:if>

<c:if test="${status == 0}">
    禁用
</c:if>

<c:forEach items="${brands}" var="brand">
    <tr align="center">
        <td>${brand.id}</td>
        <td>${brand.brand_name}</td>
        <td>${brand.company_name}</td>
        <td>${brand.description}</td>
    </tr>
</c:forEach>

</body>
</html>

更改Servlet转发路径

req.getRequestDispatcher("/jstl_foreach.jsp").forward(req,resp);

测试运行

请添加图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:09:58  更:2022-03-30 18:14:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:50:06-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码