1. JSP中有这么几种元素
    1. 1: Scriptlet

      <% ... %>

      2: 声明元素 <%! ... %>

      3: Java表达式 <%= ... %>

      4: 指令元素 <%@ ... %>

      5: EL表达式 ${ ... }

      6: 标准动作元素 <jsp:*** ... />

      7: 非标准动作 <***:*** ... />

  2. EL表达式
    1. 用来代替<%= %>表达式脚本的
    2. 主要用于四个域中取出数据(application,request,session,page),即简化getAttribute…等操作的。
    3. 如果这样写${name},不指定域,则会从小域到大域依次查找。
    4. 示例
    5. <%
      request.setAttribute("name", "Feathers");
      %> name为:${requestScope.name} <!-- 即可取出request域中key为name的值 -->
      ${student.name}表示输出student对象的name属性值,等效于<%=student.getName()%>
    6. EL 提供 . 和 [ ] 两种运算符来导航数据。下列两者所代表的意思是一样的:

      ${sessionScope.user.sex}等于${sessionScope.user["sex"]}

      . 和 [ ] 也可以同时混合使用,如下:

      ${sessionScope.shoppingCart[0].price}

      回传结果为shoppingCart中第一项物品的价格。

      不过,以下两种情况,两者会有差异:

      (1) 当要存取的属性名称中包含一些特殊字符,如. 或 – 等并非字母或数字的符号,就一定要使用 [ ],

      例如:${user.My-Name }

      上述是不正确的方式,应当改为:${user["My-Name"] }

    7. 属性范围(jstl名称)

      EL中的名称

      Page

      PageScope

      Request

      RequestScope

      Session

      SessionScope

      Application

      ApplicationScope

      我们也可以指定要取出哪一个范围的变量:

      范例

      说明

      ${pageScope.username}

      取出Page范围的username变量

      ${requestScope.username}

      取出Request范围的username变量

      ${sessionScope.username}

      取出Session范围的username变量

      ${applicationScope.username}

      取出Application范围的username变量

    8. JSP有9个隐含对象,而EL也有自己的隐含对象。EL隐含对象总共有11 个

      隐含对象

      类型

      说明

      PageContext

      javax.servlet.ServletContext

      表示此JSP的PageContext

      PageScope

      java.util.Map

      取得Page范围的属性名称所对应的值

      RequestScope

      java.util.Map

      取得Request范围的属性名称所对应的值

      sessionScope

      java.util.Map

      取得Session范围的属性名称所对应的值

      applicationScope

      java.util.Map

      取得Application范围的属性名称所对应的值

      param

      java.util.Map

      如同ServletRequest.getParameter(String name)。回传String类型的值

      paramValues

      java.util.Map

      如同ServletRequest.getParameterValues(String name)。回传String[]类型的值

      header

      java.util.Map

      如同ServletRequest.getHeader(String name)。回传String类型的值

      headerValues

      java.util.Map

      如同ServletRequest.getHeaders(String name)。回传String[]类型的值

      cookie

      java.util.Map

      如同HttpServletRequest.getCookies()

      initParam

      java.util.Map

      如同ServletContext.getInitParameter(String name)。回传String类型的值

    9. pageContext

      我们可以使用 ${pageContext}来取得其他有关用户要求或页面的详细信息。下表列出了几个比较常用的部分

      Expression

      说明

      ${pageContext.request.queryString}

      取得请求的参数字符串

      ${pageContext.request.requestURL}

      取得请求的URL,但不包括请求之参数字符串,即servlet的HTTP地址。

      ${pageContext.request.contextPath}

      服务的webapplication的名称

      ${pageContext.request.method}

      取得HTTP的方法(GET、POST)

      ${pageContext.request.protocol}

      取得使用的协议(HTTP/1.1、HTTP/1.0)

      ${pageContext.request.remoteUser}

      取得用户名称

      ${pageContext.request.remoteAddr}

      取得用户的IP地址

      ${pageContext.session.new}

      判断session是否为新的,所谓新的session,表示刚由server产生而client尚未使用

      ${pageContext.session.id}

      取得session的ID

      ${pageContext.servletContext.serverInfo}

      取得主机端的服务信息

    10. EL关系运算符

      关系运算符

      说明

      范例

      结果

      == 或 eq

      等于

      ${5==5}或${5eq5}

      true

      != 或 ne

      不等于

      ${5!=5}或${5ne5}

      false

      < 或 lt

      小于

      ${3<5}或${3lt5}

      true

      > 或 gt

      大于

      ${3>5}或{3gt5}

      false

      <= 或 le

      小于等于

      ${3<=5}或${3le5}

      true

      >= 或 ge

      大于等于

      5}或${3ge5}

      false

  3. jsp指令有三种:

    • page指令
    • include指令
    • taglib指令
  4. JSTL:
    1. <%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core" %>

Spring 梳理-el表达式和jstl的更多相关文章

  1. [转]EL表达式和JSTL表达式实例

    /* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...

  2. 简述jsp之EL表达式和jstl及其使用

    Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...

  3. jsp EL表达式和JSTL标签if-else if-else用法

    java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...

  4. Javaweb学习笔记6—EL表达式与JSTL及自定义标签

    今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...

  5. EL表达式、JSTL

    EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象.        > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段.   ...

  6. (十)EL表达式和JSTL标签快速入门

    目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...

  7. EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统

    EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...

  8. EL表达式与JSTL

    内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...

  9. Struts标签、Ognl表达式、el表达式、jstl标签库这四者之间的关系和各自作用

    我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的 ...

随机推荐

  1. 同步机制之一--Synchronized,以及此机制下的锁的本质和种类

    Java中,为了实现同步的操作临界区,线程在执行临界区的代码时,需要获得某个对象的锁.本文介绍获得对象的锁的方法之一----Synchronized关键字. Synchronized关键字的用法 Cl ...

  2. Lambada和linq查询数据库的比较

    1. 查询Student表中的所有记录的Sname.Ssex和Class列.select sname,ssex,class from studentLinq:    from s in Student ...

  3. javascript简单实现深浅拷贝

    深浅拷贝知识在我们的日常开发中还算是用的比较多,但是之前的状态一直都是只曾听闻,未曾使用(其实用了只是自己没有意识到),所以今天来跟大家聊一聊js的深浅拷贝: 首先我们来了解一下javascript的 ...

  4. 提升RabbitMQ消费速度的一些实践

    RabbitMQ是一个开源的消息中间件,自带管理界面友好.开发语言支持广泛.没有对其它中间件的依赖,而且社区非常活跃,特别适合中小型企业拿来就用.这篇文章主要探讨提升RabbitMQ消费速度的一些方法 ...

  5. JPA多条件复杂SQL动态分页查询

    概述 ORM映射为我们带来便利的同时,也失去了较大灵活性,如果SQL较复杂,要进行动态查询,那必定是一件头疼的事情(也可能是lz还没发现好的方法),记录下自己用的三种复杂查询方式. 环境 spring ...

  6. JOBDU 1108 堆栈的使用

    之所以把这道题目贴出来的原因,是因为真的有几个地方要注意的 题目1108:堆栈的使用 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10763 解决:3119 题目描述: 堆栈是一种基本的 ...

  7. 牛客第五场多校 J plan 思维

    链接:https://www.nowcoder.com/acm/contest/143/J来源:牛客网 There are n students going to travel. And hotel ...

  8. codeforces E. Trains and Statistic(线段树+dp)

    题目链接:http://codeforces.com/contest/675/problem/E 题意:你可以从第 i 个车站到 [i + 1, a[i]] 之间的车站花一张票.p[i][j]表示从 ...

  9. 2015 JSOI冬令营训练 彩色格子 题解

    解析 棋盘上黑白格染色.曼哈顿距离偶数:奇偶性相同. 枚举有几种颜色分到白格,组合数计算即可. 注意预处理,时间还是比较宽裕的. 为了不重复计数,考虑枚举严格用了i种颜色,我们再枚举分配j种给白集合. ...

  10. java 面试题 1-10

    1. Java 基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法, 线程的语法,集合的语法,io 的语法,虚拟机方面的语法 1.一个".java&q ...