【JavaWeb】el表达式与jstl标签的使用

本文详细介绍了EL表达式的基础知识及其在JSP页面中的应用,包括EL表达式的语法格式、搜索域数据的顺序及如何获取JavaBean数据等。此外,还介绍了11个EL隐含对象及JSTL标签的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

el表达式与jstl标签的使用

el表达式

简介

  1. el表达式的全称:Expression Language。是表达式语言

  2. EL表达式的作用:

    EL表达式主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出。因为EL表达式在输出数据的时候,要比jsp的表达式脚本要简洁的多

  3. EL表达式的语法格式:${表达式}。EL 表达式在输出 null 值的时候,输出的是空串。jsp 表达式脚本输出 null 值的时候,输出的是 null 字符串。

表达式搜索域数据的顺序

L 表达式主要是在 jsp 页面中输出数据。主要是输出域对象中的数据。当四个域中都有相同的 key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。

四个域从大到小的顺序为:

  1. pageContextValue
  2. requestValue
  3. sessionValue
  4. applicationValue

EL表达式获取JavaBean的数据

2.1 JavaBean规范
JavaBean 类必须是一个公共类,并将其访问属性设置为 public。
JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器,此构造器也应该通过调用各个特性的设置方法来设置特性的缺省值。
一个JavaBean类不应有公共实例变量,类变量都为private。
持有值应该通过一组存取方法(getXxx 和 setXxx)来访问:对于每个特性,应该有一个带匹配公用 getter 和 setter 方法的专用实例变量。若是布尔值,可以用isXxx来代替getXxx。
成员变量的第二个字母最好不要大写, 像rCategory, hFilename之类,生成getter 和setter会有问题。

EL的11个隐含对象

EL 个达式中 11 个隐含对象,是 EL 表达式中自己定义的,可以直接使用。如下:

变量类型作用
pageContextPageContextImpl可以获取jsp中的九大隐含对象
pageScopeMap<String,Object>可以获取pageContext域中的数据
requestScopeMap<String,Object>可以获取request域中的数据
sessionScopeMap<String,Object>可以获取session域中的数据
applicationScopeMap<String,Object>application域(servletContext)
paramMap<String,Object>~获取请求参数的值
paramValuesMap<String,Object>可以获取请求参数的值,获取多个值的时候使用
headerMap<String,Object>可以获取请求头的信息
hearderValuesMap<String,Object>获取请求头的信息,它可以获取多个值的情况
cookieMap<String,Object>它可以获取当前请求的cookie信息
initParamMap<String,Object>可以获取在web.xml中配置的上下文参数
jsp九大隐含对象
对象描述
request与请求相关联的HttpServletRequest对象
response与客户端响应相关联的HttpServletResponse对象
out将输出发送到客户端的PrintWriter对象
session与请求相关联的HttpSession对象
application与应用程序上下文相关联的ServletContext对象
config与该页面相关联的ServletConfig对象
pageContext封装了使用服务器特定的功能,如更高性能的JspWriter
page这是一个同义词,用于调用由翻译的Servlet类定义的方法
Exceptionexception对象允许指定的Jsp访问异常数据

EL中的运算符

关系运算符
  • == 或eq
  • != 或 ne
  • < 或 lt
  • >或gt
  • <= 或le
  • >=或ge
逻辑运算
  • && 或 and
  • || 或 or
  • ! 或 not
算数运算
  • +
  • -
  • *
  • /或div
  • %或mod

jstl 标签

引用jstl库

下载地址:https://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jarjstl.jar 文件拷贝到 /WEB-INF/lib/ 下。

在jsp页面中引用:

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

更多jstl直接看教程吧::

https://www.runoob.com/jsp/jsp-jstl.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

GengMS_DEV

你的鼓励就是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值