教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

7-EL、JSTL、自定义标签、过滤器

来源:网络收集 时间:2026-05-19
导读: EL、JSTL、自定义标签、过滤器 本章目标 理解并会使用EL 理解并会使用常用的JSTL标签 描述过滤器 理解过滤器生命周期 实现过滤器 为什么需要EL和JSTL JSP标准动作的局限一般是操作JavaBean的属性 JavaBean的属性只能为基本数据类型 不能进行逻辑操作 如何解

EL、JSTL、自定义标签、过滤器

本章目标

理解并会使用EL 理解并会使用常用的JSTL标签 描述过滤器 理解过滤器生命周期 实现过滤器

为什么需要EL和JSTL

JSP标准动作的局限一般是操作JavaBean的属性 JavaBean的属性只能为基本数据类型 不能进行逻辑操作

如何解决这个问题EL和JSTLpublic class School{ 请求 private Teacher teacher; private Student student; 响应 …//属性的getter、setter方法 }

JSP 页面静态内容 动态内容

JavaBean属性不是基本类 型,如何进行读取和赋值

什么是EL

什么是ELEL即Expression Language(表达式语言)

EL的功能与<jsp:getProperty />类似 简化<jsp:getProperty />

EL的语法${ EL exprission } ${ } 或 ${ bean['name'] }${}实质是调用bean的getName()方法

EL的使用

EL在output.jsp中的使用<%@page contentType="text/html; charset=GBk"%> <html> param是EL的隐式对象,等价 <head> 于request.getParameter("name"); <title>EL的使用</title> <jsp:useBean id= " bean" class="javaee.sg.ch07.Simplebean" scope="request" /> <jsp:setProperty name= " bean" property="name" value="${}" /> <jsp:setProperty name= " bean " property="age" value= "25" /> </head> <body> 姓名:${} 年龄:${bean.age} EL表达式 EL表达式更简洁、易懂 </body> </html> output.jsp

什么是JSTL

为了实现页面无脚本,还要借助于JSTL 什么是JSTLJSTL(JavaServerPages Standard Tag Library)JSP标准标 签库

JSTL 的优点

提供一组标准标签

可用于编写各种 动态 JSP 页面

用于访问数据库

JSTL标准标签库介绍

JSTL标准标签库内的标签JSTL标准标签库

核心标签库

SQL标签库 update

通用标签 set remove out

条件标签

迭代标签

param query

if

forEach

JSTL的使用

使用JSTL的步骤创建Web工程,选择JSTL1.1 在JSP页面添加taglib指令 使用JSTL标签…… <%@ taglib uri="/jsp/jstl/core" prefix="c"%> ……

通用标签

通用标签的使用set out remove

插入使用核心标签的指令 … <%@ taglib uri="/jsp/jstl/core" prefix="c"%> <body> <c:set var= "example" value="${100+1}" scope="session" /> <c:out value="${example}"/> set 标签用于给变量 out 标签在页面上显示信息或变量值 设置值和作用范围

scope= "page|request|session|application" <c:remove var= "example" scope="session"/> </body> remove 标签用于删除作用域内的变量 …

通用标签示例

通用标签的使用Books2.jsp …… <jsp:useBean id= "titlesBean" class="javaee.sg.ch03.TitlesBean" />

<c:set var=" titles" value="${titlesBean .titles}" scope="session" /> …… 等价等价 …… <% TitlesBean titlesBean = new TitlesBean(); List titles = titlesBean.getTitles(); session.setAttribute( "titles", titles ); %> …… books.jsp

条件标签示例 使用JSTL实现登录验证 -- register2

.jsp

<%@ taglib uri="/jsp/jstl/core" prefix="c"%> <jsp:useBean id="userManager" class="erManager" scope="request" /> <jsp:setProperty name="userManager" property="name" param="loginName" /> <jsp:setProperty name="userManager" property="password" 给对象的属性赋值 param="password" /> <c:if test="${userManager.valid}"> <jsp:forward page="books2.jsp" /> </c:if> <c:if test="${!userManager.valid}"> <jsp:forward page="register.html" /> </c:if> 调用getValid()方法,进行用户验证

如果返回true,转到books2.jsp, 否则返回到注册页面

条件标签

条件标签的使用if标签…… <%@ taglib uri="/jsp/jstl/core" prefix="c"%>var指定test条件的变量的名称 <body> <c:if test= "${ 条件运算 }" var= "varName" scope= "page" /> //条件为true时,执行的代码 scope指定范围 </c:if> test指定条件 …… page|request|session|application 运算符包含:,<,==,and等

常见错误 JSTL标签使用的jar包

加载JstlCoreTLV类失败

JstlCoreTLV类在 standard.jar包内 解决办法:把jstl.jar、standard.jar 拷贝到项目的WEB-INF/lib下

常见错误 部署描述文件路径错误

标签的部署描述文件路径错误

应该是uri="/jsp/jstl/core" …… <%@ taglib uri="/jstl/core" prefix="c"%> ……

迭代标签示例 迭代标签实现for循环功能

books2.jsp <%@ taglib uri="/jsp/jstl/core" prefix="c"%> 使用迭代标签实现for循环功能 <%@page import="javaee.sg.ch03.TitlesBean"%>

<jsp:useBean id= "titlesBean" class="javaee.sg.ch03.TitlesBean" /><body> <c:set var= "titles" value="${titlesBean.titles}" scope="session" /> <c:forEach var="currentBook" items="${sessionScope.titles}"> …//显示书籍信息 </c:forEach> </body>

迭代标签

迭代标签的使用forEach… <%@ taglib uri="/jsp/jstl/core" prefix="c"%> <body> <c:forEach var= "varName" items= "collection" >

//循环内容</c:forEach> </body> …

var指定集合内 数据的变量名称

items指定要遍 历的集合对象

迭代标签与for的关系 迭代标签与for循环的对应关系 -- books2.jsp… <jsp:useBean id= "titlesBean" class="javaee.sg.ch03.TitlesBean" /> <c:set var= "titles" value="${titlesBean.titles}" scope="session" /> <c:forEach var="currentBook" items="${sessionScope.titles}"> <a href="displayBook.jsp?isbn=${currentBook.ISBN}"> ${currentBook.title},${currentBook.editionNumber} </a> sessionScope是EL表示 等价 </c:forEach> 作用域范围的隐式对象 …

<% for ( …… 此处隐藏:2863字,全部文档内容请下载后查看。喜欢就下载吧 ……

7-EL、JSTL、自定义标签、过滤器.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/269829.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)