`

j2ee19:servlet03:el表达式,jstl标准标签库、四大web域

    博客分类:
  • j2ee
 
阅读更多

第一:概念

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:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用" 描述了一个基于J2EE平台的短信服务项目的实践,其中涵盖了多个关键的Java Web开发技术。这个项目不仅涉及到Servlet的编程,还...

    韩顺平 j2ee视频实战教程》servlet + jsp的视频

    #### 第4讲:EL表达式与JSTL标签库 - **EL表达式**:介绍EL的基本语法及其在页面中的应用。 - **JSTL标签库**:学习使用JSTL标签简化页面开发流程。 #### 第5讲:MVC模式与过滤器 - **MVC模式**:理解Model-View-...

    j2ee12:jsp01:jsp页面嵌套java代码、<%@ %>的使用

    7. **JSTL(JSP Standard Tag Library)**:JSTL是一组标准标签库,用于处理常见的任务,如迭代、条件判断、XML处理等,以替代在JSP页面中使用脚本元素。 8. **开发工具**:开发JSP应用时,IDE如Eclipse或IntelliJ ...

    jstl详细配置讲解

    JSTL是JavaWeb开发中的一个标准标签库,它提供了许多预定义的标签,用于简化JSP页面的编写,提高代码的可读性和可维护性。JSTL主要包括核心标签库(Core)、SQL标签库(SQL)、XML标签库(XML)和JSTL函数库(fmt)...

    JSTL中文帮助文档

    JSTL 是一套用于 JavaServer Pages (JSP) 的标准标签库,旨在简化 JSP 开发,提高代码的可读性和可维护性。它提供了多种核心标签和扩展标签,包括控制流、I/O、XML 处理、SQL 操作等功能。JSTL 的使用可以替代 JSP ...

    J2EE页面标签大全

    J2EE页面标签大全涵盖了各种常用的JSP标准标签库(JSTL)以及自定义标签,它们使得开发者能够更加简洁地编写动态网页。下面我们将深入探讨这些标签及其用法。 1. JSTL(JavaServer Pages Standard Tag Library) -...

    j2EE的简单web开发

    2. JSTL:JSTL是JavaServer Pages的一套标准标签库,提供了用于处理常见任务的标签,如迭代、条件语句、XML处理等。使用JSTL可以使得JSP页面更易于维护和理解。例如,`&lt;c:forEach&gt;`标签用于遍历集合,`&lt;c:if&gt;`用于...

    J2EE JSP-JSTL.ppt(787K)

    JSTL,全称 JavaServer Pages Standard Tag Library,是Java社区过程(JCP)制定的一个标准规格,旨在为Java Web开发人员提供一套通用的标准标签库。JSTL的出现是为了提升Web程序的可读性、维护性和方便性,它鼓励...

    Java Web开发从初学到精通随书光盘源码

    《Java Web开发从初学到精通》开始主要介绍Servlet、JSP、JavaBean、EL、JSTL、JDBC等Web开发基础知识,然后学习Struts、Hibernate、Spring、Ajax、JSF等开源框架,并最终学习如何整合这些开源框架进行J2EE开发,...

    浅谈java里的EL表达式在JSP中不能解析的问题

    EL表达式常用于JSP页面中,可以与JSTL(JavaServer Pages Standard Tag Library,标准标签库)等技术一起使用,来简化页面的显示逻辑。然而,在实际开发过程中,可能会遇到EL表达式无法在JSP页面中被解析的问题,这...

    J2EE,servlet,jsp等课件

    课程将涵盖JSP指令、动作标签、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的使用。 3. **JDBC**:JDBC是Java中访问数据库的标准API,提供了连接、查询、更新和关闭数据库的方法。...

    j2ee 5.0 servle/jsp

    3. **JSP标签库**:JSTL(JavaServer Pages Standard Tag Library)是JSP中的标准标签库,提供了诸如条件语句、迭代、XML处理等功能,使得代码更加清晰和易读。J2EE 5.0中,EL(Expression Language)也得到了加强,...

    Servlet 2.5&JSP2.1规范

    Servlet 2.5和JSP 2.1是Java服务器端开发的重要标准,它们构成了Java EE 5(也称为J2EE 5)的核心部分。这两个规范为开发动态Web应用程序提供了强大而灵活的框架。 Servlet 2.5规范是Servlet技术的第五个主要版本,...

    郭克华J2EE高级框架实战教学视频源代码(附录)

    附5Jsp2、附4Jsp1、附6Jsp3这三部分可能包括了JSP基本语法、EL表达式、JSTL标签库以及自定义标签的使用,帮助学习者了解如何在服务器端生成HTML内容,并结合Java脚本进行动态处理。 2. **Servlet**:Servlet是Java ...

    J2EE JSP-EL.ppt(453K)

    在早期,EL只能在JSTL标签内部使用,但随着JSP 2.0的发布,EL已成为标准规范,可以直接在JSP页面中使用,只要容器支持Servlet 2.4和JSP 2.0。 ### 1. EL简介 EL通过${}语法来表达和执行计算。它简化了从不同作用域...

    J2EE+JSP-EL ppt文档

    2. **表达式语法**: EL表达式以`${}`包裹,例如`${sessionScope.user.sex}`,这表示从Session作用域中获取用户性别。 3. **.与[ ]运算符**: 使用`.`或`[]`来访问对象的属性。当属性名包含特殊字符时,如空格或破折...

    JSTL入门详解

    JSTL(JavaServer Pages Standard Tag Library,JavaServer页面标准标签库)1.0版本发布于2002年6月,旨在简化JSP(JavaServer Pages)页面的开发过程,减少对脚本代码的依赖,提高页面的可读性和维护性。...

    java web(j2ee)学习顺序

    JSTL是一组标准标签库,而EL则是用于在JSP页面中执行表达式的语言,它们可以减少硬编码和Java代码的使用。 4. **MVC设计模式**:理解Model-View-Controller(MVC)设计模式是Web开发中的重要一环。这将帮助你组织...

    JSP题库-62道.doc

    JSP/Servlet 试题库知识点总结 以下是从给定的文件信息中生成的知识点: 1. 动态网站需要的技术有哪些?...这些知识点涵盖了JSP/Servlet的基本概念、Servlet容器、JSP 生命周期、EL表达式、JSTL等方面的知识。

    J2EE完全参考手册-J2EE概述-pdf

    它们与 JSP 标准标签库(JSTL)和表达式语言(EL)结合,提供了灵活的页面渲染能力。 4. **企业 Bean**:EJB(Enterprise JavaBeans)是 J2EE 中的核心组件,分为会话Bean、实体Bean和消息驱动Bean。它们用于实现...

Global site tag (gtag.js) - Google Analytics