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. [SQL] 外卖系统数据库设计

    注意: 1.项目需求:小程序外卖系统,以美团,饿了么为参考. 2.表设计没有外键约束,设计是在程序中进行外键约束. 3.希望通过分享该数据库设计,获取大家的建议和讨论. SQL: CREATE DAT ...

  2. SCRUM的五个价值观

    转自:http://www.scrumcn.com/agile/scrum-knowledge-library/scrum.html#tab-id-8 承诺 – 愿意对目标做出承诺 专注– 把你的心思 ...

  3. 刚当上IT项目经理应该做些什么?

  4. 【管理学】PDCA

  5. codeforces-214(Div. 2)-C. Dima and Salad+DP恰好背包花费

    codeforces-214(Div. 2)-C. Dima and Salad 题意:有不同的沙拉,对应不同的颜值和卡路里,现在要求取出总颜值尽可能高的沙拉,同时要满足 解法:首先要把除法变成乘法, ...

  6. 大数乘法(适合k进制)

    #include<stdio.h> #include<string.h> #define N 10000 void inv(char str[],int n) { int i, ...

  7. 牛客网暑期ACM多校训练营(第二场) D money 思维

    链接:https://www.nowcoder.com/acm/contest/140/D来源:牛客网 White Cloud has built n stores numbered from 1 t ...

  8. hadoop之数据倾斜

    数据倾斜介绍 在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Count ...

  9. 最佳内存缓存框架Caffeine

    Caffeine是一种高性能的缓存库,是基于Java 8的最佳(最优)缓存框架. Cache(缓存),基于Google Guava,Caffeine提供一个内存缓存,大大改善了设计Guava's ca ...

  10. 纯css实现乌云密布的天气图标

    效果 效果如下 ​ 实现思路 使用box-shadow属性画几个灰色的圆,将这些圆错落的组合在一起,形成乌云图案 after伪元素写乌云下的投影 增加动画 dom结构 用两个嵌套的div容器,父容器来 ...