4.javaweb-EL与JSTL

JavaWeb 项目实战:基于 Servlet+JSP 的简易留言板开发(5 大核心模块) 本文详细介绍了基于Servlet+JSP的JavaWeb留言板开发实战,涵盖用户界面、数据提交、Servlet处理、JSP展示数据库CRUD操作五大核心模块。通过完整的项目示例,帮助开发者掌握JavaWeb程序设计基础,适合JavaWeb初学者课后习题实践。 阅读详情

javaweb-EL与JSTL

一、为什么要使用EL表达式

在这里插入图片描述

二、EL语法

EL表达式(Expression Language)

E L 表达式 例如: {EL 表达式} 例如: EL表达式例如:{username}

EL操作符

操作符“.”

  • ​ 获取对象的属性,例如:${news.title}

操作符“[]”

  • ​ 获取对象的属性,例如:${news[“title”]}

  • ​ 获取集合中的对象,例如:${newsList[0]}

注意:EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯

三、EL运算符

运算符说明
( )改变执行的优先级,例如**${3*(4+5)}**
+,-,*,/,%算术运算符 , 例如 ${3+2}
==,!=,>,>=,<,<=关系运算符,例如 a = = b ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {a==b}** **或** ** a==b{a eq b}
&&,||,!逻辑运算符,例如 ${true&&false}
?:条件运算符,例如 ${a>b?1:2}
empty用于检测变量名是否为空,是否等于 NULL ,例如 ${empty name}
关系运算符范例结果
== eq 5 = = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {5 == 5}** **或** ** 5==5{5 eq 5}true
!= ne 5 ! = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {5 != 5}** **或** ** 5!=5{5 ne 5}false
< lt 3 < 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 < 5}** **或** ** 3<5{3 lt 5}true
> gt${3 > 5} {3 gt 5}false
<= le 3 < = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 <= 5}** **或** ** 3<=5{3 le 5}true
>= ge 3 > = 5 ∗ ∗ ∗ ∗ 或 ∗ ∗ ∗ ∗ {3 >= 5}** **或** ** 3>=5{3 ge 5}false

四、EL功能

取得JavaBean对象的属性

  • ${news.title}

取得数组、List、Map类型对象的元素

  • ${list[0]}

使用各类运算符对原始数据进行简单处理

  • ${totalRecordCount/pageSize}

屏蔽一些常见的异常

  • ${username}

能实现简单的自动类型转换

  • ${news}相当于(News)request.getAttribute(“news”)

五、EL访问作用域

request.setAttribute(“news”, news);

两种方式取数据:

使用Java小脚本:request.getAttribute(“news”);

使用EL表达式: ${ news } 或者 ${ requestScope.news }

作用域Java 代码取值EL 取值
请求作用域request. getAttribute (“news”);${ request Scope .news }
会话作用域session. getAttribute (“username”);${ session Scope. username }
程序作用域application. getAttribute (“count”);${ application Scope .count }
页面作用域pageContext. getAttribute (" userNum ");${ page Scope .userNum }

六、JSTL介绍

1。JSTL(JavaServerPages Standard Tag Library)
  • JSP标准标签库
  • 实现JSP页面中的逻辑控制
2.JSTL使用步骤

下载jstl.jar和standard.jar包

  • http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

将这两个包复制到WEB-INF\lib目录

在JSP页面中添加指令

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

七、JSTL标签分类

标签库名称资源标示符( uri 前缀( prefix
核心标签库http://java.sun.com/jsp/jstl/corec
国际化 / 格式化标签库http://java.sun.com/jsp/jstl/fmtfmt
XML 标签库http://java.sun.com/jsp/jstl/xmlx
数据库标签库http://java.sun.com/jsp/jstl/sqlsql
函数标签库http://java.sun.com/jsp/jstl/functionsfn

核心标签库

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

国际化/格式化标签库

<%@ taglib uri=“http://java.sun.com/jsp/jstl/fmt” prefix=“fmt” %>

八、标签

标签名称作用
<c:out />输出文本内容到 out 对象,常用于显示特殊字符,显示默认值
<c:set/>在作用域中设置变量或对象属性的值
<c:remove/>在作用域中移除变量的值
<c:if/>实现条件判断结构
<c:forEach/>实现循环结构
<c:url/>构造 url 地址
<c:param/> url 后附加参数
<c:import/>在页面中嵌入另一个资源内容
< fmt:formatDate />格式化时间
< fmt:formatNumber />格式化数字
<c:out value="value" default="default" escapeXml="true|false" />
    value:需要输出显示的表达式
    default:默认输出显示的值
	escapeXml:是否对输出的内容进行转义

在这里插入图片描述

 <c:forEach/>迭代标签
	实现对集合的遍历
<c:forEach var="varName" items="items" varStatus="varStatus">
     ……
</c:forEach>
var:集合中元素的名称
items:集合对象
varStatus:当前循环的状态信息,例如循环的索引号

<c:if/>条件标签
实现条件的判断
    <c:if test="condition" var="varName" scope="scope">
         ……
	</c:if>
var:判断的结果
scope:判断结果存放的作用域


<c:url/>超链接标签
	<c:url  value="url" />
    
<c:param/>参数标签
	<c:param name="name"  value="value"/>
  
    name:参数的名称
	value:参数的值

<c:import/>导入标签
  <c:import url="URL" />

<fmt:formatDate/>格式化标签
<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
    value:事件对象
    pattern:显示格式

<c:import/>导入标签
<c:import url=“URL” />


```java
<fmt:formatDate/>格式化标签
<fmt:formatDate  value="date"  pattern="yyyy-MM-dd HH:mm:ss"/>
    value:事件对象
    pattern:显示格式

AIAgent知识表示推理:基于本体论规则引擎的实现 AIAgent知识表示推理:基于本体论规则引擎的实现 1. 背景介绍 人工智能(AI)系统的核心是知识表示推理,这是实现智能行为的基础。在过去的几十年里,人工智能领域一直致力于研究如何有效地表示推理知识,以支持智能系统的决策行为。其中,基于本体论的知识表示 阅读详情

相关推荐

Open3D 球旋转算法(BPA)三维建模【2026最新版】

球旋转算法,博客长期更新,本文最新更新时间为:2026年4月11日。

点云侠的博客 37万+

JavaWeb开发之JSP&EL&JSTL

JSP就是Java Server Pages ,即Java服务器端页面。JSP 本质上就是 HTML + Java代码 + JSP自身东西。Servlet技术生成动态网页的时候很麻烦,需要通过response获得输出流,调用print方法进行打印的。这种编程方式很麻烦,而且美工也不容易处理。SUN公司为了简化动态网页开发,推出JSP。JSP在执行时,会被服务器翻译为Servlet编译执行。EL:Expression Language表达式语言,为了使得JSP写起来更简单。JSTL:JSP的标准标签库。

nuist_NJUPT的博客 836

【电子设计自动化】Innovus用户指南/innovus UG

【电子设计自动化】Innovus用户指南/innovus UG

JavaWeb 速通 EL JSTL

JavaWeb——服务器渲染技术 EL + JSTL 内容分享

CSDN / 稀土掘金/ B站 / GitHub: Cyan_RA9 697

JavaWeb--JSTLEL

{uname}: 告诉web服务器,先在page范围内查找有没有uname,如果没有找到继续到request范围内查找,如果没有找到继续到session范围内查找,如果没有找到,继续到application范围内查找,如果还没有找到,会返回null, 在页面上显示为""${requestScope.map.Monday}{requestScope.map["Monday'"]}是等价的,都是在request范围内查找map,取其Monday属性。如果想要拼接: ${"20"}${20}

卷不动的程序员 946

JavaWeb快速入门 ELJSTL

目录 一、思维导图(深度了解ELJSTL) 二、域对象(在JSTL中有控制作用域的作用) 四大作用域对象: 三、EL 表达式 1.概述 2. 基本语法格式: 3. 示例代码 4.".""[ ]"的相同点差别 5. EL表达式中的操作符 6.EL关系运算符有以下六个运算符 四、JSTL库 一、思维导图(深度了解ELJSTL) 二、域对象(在JSTL中有控......

m0_60786924的博客 1323

Java Web之EL表达式JSTL

EL表达式 Expression Language 表达式语言,常用于取值 我们之前在JSP中写java代码必须写在&amp;amp;amp;amp;amp;lt;%%&amp;amp;amp;amp;amp;gt;里面。并且取值代码比较繁琐。 而EL表达式可以使我们的取值更加简洁,简化JSP代码 语法非常简单 ${} 看个小例子: 我们在一个表单填写账号密码提交后在成功页面显示出账号密码。 这里就直接贴成功页面的代码 &amp;amp;amp;amp;amp

喻志强的博客 2万+

java之学习记录 4 - 2 - ELJSTL核心技术(javaweb核心下)

EL表达式(熟悉) 1 基本概念 EL(Expression Language)表达式提供了在JSP中简化表达式的方法,可以方便地访问各种数据并输出。 2 主要功能 依次访问pageContext、request、sessionapplication作用域对象存储的数据。 获取请求参数值。 访问Bean对象的属性。 访问集合中的数据。 输出简单的运算结果。 3 访问内置对象的数据 (1)访问方式 <%=request.getAttribute(“ var.

dear_zx的博客 180

JavaWeb-8】JSP原理、3大命令、6大动作、9大对象、4大域对象、EL表达式JSTL的几个标签

原 【JavaWeb-8】JSP原理、3大命令、6大动作、9大对象、4大域对象、EL表达式JSTL的几个标签2016年09月16日 11:06:17阅读数:2794 1、什么是JSP(Java Server Pages)?它servlet一样都是SUN推出的用于开发动态web资源的一种技术。JSP本质上也是一个servle...

f45056231p的博客 245

jstl标签使用详解

JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。   JSTL全名为JavaServer Pages Standard Tag Library,目前最新的版本为1.1版。JSTL是由JCP(Java Community Process)所制定的标

renxyz的专栏 584

JavaWeb同步学习笔记之五十六、JavaWeb_EL语法

JavaWeb_EL语法EL语法 EL语法 1.EL 简介  1)EL 全名为 Expression Language,它原本是 JSTL 1.0 为方便存取数据所自定义的语言。当时 EL 只能在 JSTL 标签中使用,到了 JSP 2.0 之后,EL 已经正式纳入成为标准规范之一。因此,只要是支持 Servlet 2.4 / JSP 2.0 的 Container,就都可以在 JSP 网页中直...

q124xs的博客 222

javajstl标签_JSP中一些JSTL核心标签用法总结

一、jstl介绍jstl(javaserver pages standard tag library)由jcp(java community process)指定标准,提供给 java web 开发人员一个标准通用的标签函数库。 el 来取代传统直接在页面上嵌入 java 程序(scripting)的做法,以提高程序可读性、维护性方便性。jstl 主要由apache组织的jakarta pro...

weixin_34264495的博客 497

Maven形式的Web项目JSTLEL无效

Maven形式的Web项目JSTLEL无效 之所以出现JSTLEL不能被正确解析的原因是新创建Maven项目的web.xml使用的是2.4版本的Servlet,而这个版本默认是不支持JSTLEL,解决办法非常简单,只需要修改web.xml的内容如下就行了: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="...

648

JavaWeb4章 任务 2 使用 JSTL 实现列表展示  4.2.3    JSTL 的 URL 操作

JavaWeb 应用设计及实战 目录 上一个任务/上一节 下一个任务/下一节 目录 4.2.3 JSTL 的 URL 操作 1. 标签 2.标签 示例 6 3. 标签 4.2.3 JSTL 的 URL 操作 超链接时 Web 应用中最常用的功能,在 JSTL 中也提供了相应的标签来完成超链接 的功能这些标签包括 <c;url/...

JavaDarren的博客 228

jstl标签库基础教程及其使用代码

概述 在 JSP 页面中,使用标签库代替传统的 Java 片段语言来实现页面的显示逻辑已经不是新技术了,然而,由自定义标签很容易造成重复定义非标准的实现。鉴于此,出现了 JSTL ( JSP Standard Tag Library )。大多数 JSP 页面逻辑提供了实现的 JSTL 技术,该技术本身就是一个标签库。 Sun 公司 Java 规范标准的 JSTL 由 apach...

weixin_30797027的博客 122

jsp页面中jstl标签详解

http://blog.csdn.net/justjackwang/article/details/8804528 JSLT标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。   JSTL全名为JavaServer Pages Standard Tag Li

程序达人 387

公司新来的阿里架构师扔给我一份JavaWeb开发详解PDF文档,真香

随着Java语言的流行,Java在网站企业级应用的开发上应用得越来越普遍,JavaWeb开发已经成为Java企业级解决方案中不可或缺的重要组成部分。所以学习JavaWab已经十分重要。 小编在网上发掘出了一篇JavaWeb开发详解的文档,这篇文档内容全面,涵盖了从事Java Web开发所应掌握的所有知识。在知识的讲解上,采用理论实践相结合的方式,从程序运行的内部机制进行分析讲解,并通过大量的实例实验来验证并运用。语言生动、通俗易懂、讲解细致,大部分章节都提供了多个例子,而且很多例子都是目前.

文章中资料均可获取,有需要请添加yunduoa2019即可 1005

JSTL标签 参考手册

前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。   JSTL全名为JavaServer Pag

别在熬夜了! 841

Servlet/JSP

1:Java Web基础 — Jsp 综述(上) 2:Java Web基础 — Jsp 综述(下) 3:Java Web基础 — Servlet 综述(理论篇) 4:Java Web基础 — Servlet 综述(实践篇) 5:【JavaWeb-8】JSP原理、3大命令、6大动作、9大对象、4大域对象、EL表达式JSTL的几个标签 ...

偷懒的乌龟 965

JavaWeb】之JSTL & EL表达式

JavaWeb基础JSTL标签&EL表达式相关知识详细介绍~

小新要变强的博客 2125
上一篇: 3.javaweb-Servlet与过滤器
下一篇: 6.Javaweb-过滤器与监听器
懒洋洋大魔王
博客等级 码龄5年 2136粉丝 134原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒洋洋大魔王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值