第七章 EL表达式
目录
3.2.1:从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。
1.if 标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。
1.EL表达式获取域中数据
EL最主要的作用是获得四大域中的数据,格式${EL表达式}
- EL获得pageContext域中的值:${pageContextScope.key};
- EL获得request域中的值:${requestScope.key};
- EL获得session域中的值:${sessionScope.key};
- EL获得application域中的值:${applicationScope.key};
EL从四个域中获得某个值${key};
---依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找
2.EL的内置对象
2.1 概述
EL 内置对象
就像 JSP 的 Java 代码块及表达式块中可以使用九个内置对象一样,EL 表达式中,同样也存在有内置对象,并且存在 11 个内置对象。
2.2EL11内置对象
1.pageScope:获取pageContext域属性,相当于pageContext.getAttribute(“xxx”)
2.requestScope:获取request域属性,相当于request.getAttribute(“xxx”)
3.sessionScope:获取session域属性,相当于session.getAttribute(“xxx”)
4.applicationScope:获取application域属性,相当于application.getAttribute(“xxx”)
5.param:对应参数,它是一个Map,其中key是参数,value是参数值,适用于单值的参数,相当于request.getParameter(“xxx”)
6.paramValues:对应参数,她是一个Map,其中key是参数,value是多个参数值,适用于多值的参数,相当于7.request.getParameterValues(“xxx”)
8.header:对应请求头,它是一个Map,其中key表示头名称,value是单个头值,适用于单值的请求头,相当于request.getHeader(“xxx”)
9.headerValues:对应请求头,它是一个Map,其中key表示头名称,value是多个头值,适用于多值的请求头,相当于request.getHeaders(“xxx”)
10.initParam:获取web.xml中内的参数,${ initParam.xxx},xxx就是标签内的值,进而得到中的值
11.cookie:用于获取cookie,Map
3.jstl表达式
3.1简介:JSTL是一个JSP标签集合,它封装了JSP应用的通用核心功能。
3.2JSTL配置:
3.2.1:从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip)。
3.2.2:下载 jakarta-taglibs-standard-1.1.2.zip 包并解压,将 jakarta-taglibs-standard-1.1.2/lib/ 下的两个 jar 文件:standard.jar 和 jstl.jar 文件拷贝到 /WEB-INF/lib/ 下。
将 tld 下的需要引入的 tld 文件复制到 WEB-INF 目录下。
3.2.3:在 web.xml 文件中添加以下配置:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <jsp-config> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/fmt-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri> <taglib-location>/WEB-INF/c.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/core-rt</taglib-uri> <taglib-location>/WEB-INF/c-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/sql.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/sql-rt</taglib-uri> <taglib-location>/WEB-INF/sql-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/x</taglib-uri> <taglib-location>/WEB-INF/x.tld</taglib-location> </taglib> <taglib> <taglib-uri>http://java.sun.com/jsp/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/x-rt.tld</taglib-location> </taglib> </jsp-config> </web-app>
注意:使用任何库,必须在每个 JSP 文件中的头部包含 <taglib> 标签。
4 JSTL-IF标签
1.if 标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。
2.标签属性:
- test 条件 必要
- var 用于存储条件结果的变量 不必须
- scope var属性的作用域 不必须
心得与思考:
1.是否还值得去学习这些已经老套的jsp技术?我觉得吧,既然要用到就去学学,技多不压身。
本文来自博客园,作者:taotooler,转载请注明原文链接:https://www.cnblogs.com/taolo/p/17225902.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?