EL与JSTL核心标签详解及JSP动作标记对比
需积分: 3 55 浏览量
更新于2024-08-01
收藏 192KB DOC 举报
本文档是关于EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)在JSP中的使用方法的总结,包括各种标签的示例和功能解释。
### EL (Expression Language)
EL是一种简洁的脚本语言,用于在JSP中获取和操作数据。它提供了一种简洁的方式来访问JSP中的隐式对象和作用域中的变量。以下是EL的几个关键点:
1. 隐式对象:EL总共有11个隐式对象,分为5大类:
- JSP隐式对象:如`pageContext`,可以用来访问整个页面的上下文。
- 作用域访问隐式对象:`pageScope`、`requestScope`、`sessionScope`、`applicationScope`,分别对应JSP的四个作用域。
- 参数访问隐式对象:`param`、`paramValues`,用于访问请求参数。
- 首部访问隐式对象:`header`、`headerValues`,用于访问HTTP请求头。
- 初始化参数访问隐式对象:`initParam`,用于访问应用的初始化参数。
示例:
```jsp
|${20*5}| // 使用EL计算表达式
<%=20*5%> // 使用脚本元素计算表达式
|${emptystudent}| // 检查对象是否为空
|${pageContext.response.| // 访问响应对象
```
### JSTL
JSTL是一组标签库,提供了一系列标签来简化JSP开发,使其更符合MVC模式。以下是JSTL中的一些核心标签:
#### (a) 多用途核心标签
- `<c:out>`:用于安全地输出数据,防止XSS攻击。
- `<c:set>`:用于给变量赋值。
- `<c:remove>`:用于删除变量。
- `<c:catch>`:捕获和处理异常。
#### (b) 条件控制标签
- `<c:if>`:进行条件判断。
#### (c) 循环控制标签
- `<c:forEach>`:遍历集合或数组。
- `<c:forTokens>`:按分隔符拆分字符串并遍历。
#### (c) URL相关标签
- `<c:import>`:导入外部资源。
- `<c:url>`:创建URL地址。
- `<c:redirect>`:执行重定向。
- `<c:param>`:添加请求参数。
#### 国际化核心标签
- `<fmt:setLocale>`:设置本地环境。
- `<fmt:bundle>` 和 `<fmt:setBundle>`:绑定资源文件。
- `<fmt:message>`:显示资源配置文件信息。
- `<fmt:param>`:传递参数。
- `<fmt:requestEncoding>`:设置请求的字符编码。
- `<fmt:timeZone>` 和 `<fmt:setTimeZone>`:设置时区。
- `<fmt:formatNumber>`:格式化数字。
- `<fmt:parseNumber>`:解析数字。
- `<fmt:formatDate>`:格式化日期。
- `<fmt:parseDate>`:解析日期。
### JSP 动作标记
JSP的动作标记主要用于处理JavaBean和其他页面操作。
- `<jsp:useBean>`:实例化JavaBean或引用已存在的Bean。
- `<jsp:setProperty>`:设置JavaBean的属性。
- `<jsp:getProperty>`:获取JavaBean的属性值。
### JSP 内容标记
- `<jsp:include>`:动态包含其他页面。
- `<jsp:forward>`:转发到另一个页面。
- `<jsp:param>`:在`<jsp:include>`和`<jsp:forward>`中传递参数。
这些标签和对象提供了强大的功能,使开发者能更高效地编写JSP页面,提高代码的可读性和可维护性。通过熟练掌握EL和JSTL,可以显著提升JSP开发的效率和质量。
2009-05-21 上传
2008-01-27 上传
2009-08-11 上传
2022-08-08 上传
2007-09-10 上传
2012-05-16 上传
2010-01-14 上传
2009-06-05 上传
267 浏览量
seteradu
- 粉丝: 0
- 资源: 2
最新资源
- 最新收集JDK1.5.0命令大全.txt
- designing embedded systems with pic microcontrollers
- programming in ada95
- pretous元件清单
- C++程序员的python使用手册 PDF格式 英汉对照版
- sun云计算的相关资料
- 浅谈Java串行端口技术协议
- learning python 3nd Edition 英文版 PDF格式
- vc6.0创建Symbian工程
- linux常用指令大全
- oracle9i10g编程艺术
- java作业house游戏 txt文档 经过编译
- C++ Primer 3rd Edition 中文完美版
- Test Director 8.0使用手册
- Software Requirements Specification
- 数字电子技术教材电子版