EL与JSTL核心标签详解及JSP动作标记对比

需积分: 3 4 下载量 143 浏览量 更新于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开发的效率和质量。