第一:概念
EL表达式里面可以是变量、对象、集合
1.在jsp中的表达式是<%=%>.
2.servlet中的内置对象和jsp中的内置对象是同一个内置对象,因为在servlet中的session设置值之后在jsp中能够获取。
3.El表达式里面是变量的时候:将数据进行打印显示(其实EL表达式就是用来替代<%=%>的,EL表达式不需要导入jar包)
语法:${x};:注意,$符里面的x其实是个键,是web对象中保存值的键,由web的内置对象获取值,例如pageCotent,request,session,applicatioon
${x}其实是在调用内置对象的getAttribute()方法。
4.pageCotent,request,session,application四个内置对象 的取值范围不同,当这四个对象的键相同的情况下根据四个内置对象的共享范围来找(从小到大)。默认是从小到大查找
5.sessionScope是对前面的扩展,当同时出现这四个键的时候,我指定我要使用session。scope的作用是指定使用哪个内置对象。
6.当El表达式里面是个对象的时候, ${stu.sno}表示调用request.getAttribute()方法,其中stu.sno表示调用了对象的get方法,跟属性无关。(这里的sno是跟实体类中的getSno保持一致的,就是把get后面的第一个单词转化成小写然后取出get后面的单词)。
7.EL表达式里面是集合的时候:${stuList[0].sno}:获取学生集合中的第一个学生的学号。
8.EL表达式的运算:
支持算数运算,${num+100}。
支持比较运算,${num1>num2}。gt,lt,eq,ge(分别是>,<,=,>=)。判断num是否为空:${empty num}
9.在servlet中获取session对象:HttpSession session=request.getSession
获取application对象:ServletContext application=super.getServletContext;
获取pageContext对象:PageContext pageContext=
10.jstl(jsp的标准标签库,html里面有标签,jsp中也有标签):用于集合的变量 。
使用jstl的时候要加入c标签,taglib是标签库的意思。其中c是jstl的核心标签,是后面路径core的缩写,所有标签都以c开头
-----1.普通标签:
<c:set var="temp" value="123" scope="request"></c:set>:定义变量,名字是temp,值是123,保存范围是scope
<c:set var="sno" value="${stu}"></c:set>:取值
<c:set property="sno" target="${stu} " value="5555"></c:set>:给stu对象的sno属性赋值
<c:out value=${}></c:out>:打印输出
-----2.逻辑标签:
第一个判断:<c:if test="${1>2}" var="res">:其中test写if的条件相当于小括号,var是用来保存结果的变量
<h1>${res}</h1>
</c:if>
第二个循环:<c:forEach var="stu" items="stuList" begin="1" end="1" step="2" varStatus="index">:var表示集合中的元素,items表示集合,begin和end表示从哪开始循环和结束循环.step表示步长,也就是变化量。varStatus表示状态,他是个对象,index是varStatus对象的属性,表示当前的下标,从0开始。
${stu.sno}
</c:forEach>
第三个选择: <c:choose>
<c:when test="1 gt 2">
1
<c:when>
<c:when test="1 lt 2">
2
<c:when>
<otherwise>
0
<otherwise>
<c:choose>
第四个重定向:<c:redirect url="index.jsp"></c:redirect>注意跟jsp的区分
第五个重定向,并把这个值传过去<c:redirect url="index.jsp"><c:param name="ps" value="100"></c:param></c:redirect>
-----3.数据标签:
-----4.格式化标签:
<fmt :formatDate value="${d}"></fmt>格式化日期,d是一个Date类型的日期。
对日期格式化等。自学:fmt标签格式标签<fmt:></:fmt>
11.总结:
-----1.jstl标准标签库不单单只有c标签,还有数据标签,格式标签等,例如格式标签就是fmt,不是c了。
------2.EL表达式只是升级了jsp的表达式(<%=%>),使用了${};JSTL标准标签库才是使用了c标签并完成了循环遍历等操作。
第二:代码实现
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="com.entity.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%--
EL(表达式语言):将数据进行打印显示
语法:
${x} :x为web对象中保存值的键,由web内置对象中通过键获取值
--%>
${100}<br/>
${num }<br/>
${sessionScope.num }<br/>
${stu.sno }----${stu.sname }<br/>
${stuList[1].sno }----${stuList[1].sname }<br/>
-----------------------------------------------<br/>
<!-- el表达式的简单运算 -->
${num+sessionScope.num }<br/>
${num%sessionScope.num }<br/>
${num/sessionScope.num }<br/>
-----------------------------------------------<br/>
${num>requestScope.num }<br/>
${num gt requestScope.num }<br/>
${num lt requestScope.num }<br/>
${num eq requestScope.num }<br/>
${num ge requestScope.num }<br/>
${not empty num }<br/>
-----------------------------------------------<br/>
<!--
jstl:jsp的标准标签库
普通标签
逻辑标签
数据标签
格式标签
-->
jstl<br/>
<c:set var="temp" value="123" scope="request"></c:set>
${temp }
<c:set var="sno" value="${stu.sno}"></c:set>
${sno }
<c:set property="sno" target="${stu}" value="780000"></c:set>
${stu.sno }
<c:out value="${stu.sno}"></c:out><br/>
-----------------------------------------------<br/>
<c:if test="${1 lt 2}" var="res" >
<h1>1 lt 2:----${res }</h1>
</c:if>
<c:if test="${1 gt 2}" var="res" >
<h1>1 gt 2:----${res }</h1>
</c:if>
<!-- begin="1" end="1" step="2" -->
<c:forEach var="stu" items="${stuList}" varStatus="index">
${index.index}-----${stu.sno }-----${stu.sname }<br/>
</c:forEach>
<c:choose>
<c:when test="${stu.sno eq 78000}">
eq 78000
</c:when>
<c:when test="${stu.sno lt 78000}">
lt 78000
</c:when>
<c:otherwise>
gt 78000
</c:otherwise>
</c:choose>
</body>
</html>
相关推荐
标题 "j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用" 描述了一个基于J2EE平台的短信服务项目的实践,其中涵盖了多个关键的Java Web开发技术。这个项目不仅涉及到Servlet的编程,还...
#### 第4讲:EL表达式与JSTL标签库 - **EL表达式**:介绍EL的基本语法及其在页面中的应用。 - **JSTL标签库**:学习使用JSTL标签简化页面开发流程。 #### 第5讲:MVC模式与过滤器 - **MVC模式**:理解Model-View-...
7. **JSTL(JSP Standard Tag Library)**:JSTL是一组标准标签库,用于处理常见的任务,如迭代、条件判断、XML处理等,以替代在JSP页面中使用脚本元素。 8. **开发工具**:开发JSP应用时,IDE如Eclipse或IntelliJ ...
JSTL是JavaWeb开发中的一个标准标签库,它提供了许多预定义的标签,用于简化JSP页面的编写,提高代码的可读性和可维护性。JSTL主要包括核心标签库(Core)、SQL标签库(SQL)、XML标签库(XML)和JSTL函数库(fmt)...
JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,旨在简化 JSP 开发,提高代码的可读性和可维护性。它提供了多种核心标签和扩展标签,包括控制流、I/O、XML 处理、SQL 操作等功能。JSTL 的使用可以替代 JSP ...
J2EE页面标签大全涵盖了各种常用的JSP标准标签库(JSTL)以及自定义标签,它们使得开发者能够更加简洁地编写动态网页。下面我们将深入探讨这些标签及其用法。 1. JSTL(JavaServer Pages Standard Tag Library) -...
2. JSTL:JSTL是JavaServer Pages的一套标准标签库,提供了用于处理常见任务的标签,如迭代、条件语句、XML处理等。使用JSTL可以使得JSP页面更易于维护和理解。例如,`<c:forEach>`标签用于遍历集合,`<c:if>`用于...
JSTL,全称 JavaServer Pages Standard Tag Library,是Java社区过程(JCP)制定的一个标准规格,旨在为Java Web开发人员提供一套通用的标准标签库。JSTL的出现是为了提升Web程序的可读性、维护性和方便性,它鼓励...
《Java Web开发从初学到精通》开始主要介绍Servlet、JSP、JavaBean、EL、JSTL、JDBC等Web开发基础知识,然后学习Struts、Hibernate、Spring、Ajax、JSF等开源框架,并最终学习如何整合这些开源框架进行J2EE开发,...
EL表达式常用于JSP页面中,可以与JSTL(JavaServer Pages Standard Tag Library,标准标签库)等技术一起使用,来简化页面的显示逻辑。然而,在实际开发过程中,可能会遇到EL表达式无法在JSP页面中被解析的问题,这...
课程将涵盖JSP指令、动作标签、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用。 3. **JDBC**:JDBC是Java中访问数据库的标准API,提供了连接、查询、更新和关闭数据库的方法。...
3. **JSP标签库**:JSTL(JavaServer Pages Standard Tag Library)是JSP中的标准标签库,提供了诸如条件语句、迭代、XML处理等功能,使得代码更加清晰和易读。J2EE 5.0中,EL(Expression Language)也得到了加强,...
Servlet 2.5和JSP 2.1是Java服务器端开发的重要标准,它们构成了Java EE 5(也称为J2EE 5)的核心部分。这两个规范为开发动态Web应用程序提供了强大而灵活的框架。 Servlet 2.5规范是Servlet技术的第五个主要版本,...
附5Jsp2、附4Jsp1、附6Jsp3这三部分可能包括了JSP基本语法、EL表达式、JSTL标签库以及自定义标签的使用,帮助学习者了解如何在服务器端生成HTML内容,并结合Java脚本进行动态处理。 2. **Servlet**:Servlet是Java ...
在早期,EL只能在JSTL标签内部使用,但随着JSP 2.0的发布,EL已成为标准规范,可以直接在JSP页面中使用,只要容器支持Servlet 2.4和JSP 2.0。 ### 1. EL简介 EL通过${}语法来表达和执行计算。它简化了从不同作用域...
2. **表达式语法**: EL表达式以`${}`包裹,例如`${sessionScope.user.sex}`,这表示从Session作用域中获取用户性别。 3. **.与[ ]运算符**: 使用`.`或`[]`来访问对象的属性。当属性名包含特殊字符时,如空格或破折...
JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)1.0版本发布于2002年6月,旨在简化JSP(JavaServer Pages)页面的开发过程,减少对脚本代码的依赖,提高页面的可读性和维护性。...
JSTL是一组标准标签库,而EL则是用于在JSP页面中执行表达式的语言,它们可以减少硬编码和Java代码的使用。 4. **MVC设计模式**:理解Model-View-Controller(MVC)设计模式是Web开发中的重要一环。这将帮助你组织...
JSP/Servlet 试题库知识点总结 以下是从给定的文件信息中生成的知识点: 1. 动态网站需要的技术有哪些?...这些知识点涵盖了JSP/Servlet的基本概念、Servlet容器、JSP 生命周期、EL表达式、JSTL等方面的知识。
它们与 JSP 标准标签库(JSTL)和表达式语言(EL)结合,提供了灵活的页面渲染能力。 4. **企业 Bean**:EJB(Enterprise JavaBeans)是 J2EE 中的核心组件,分为会话Bean、实体Bean和消息驱动Bean。它们用于实现...