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. 设计模式(C#)——05适配器模式

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321       自然界有一条规则--适者生存.意思是生物要使用自然界的变化:在程序界中则需要新环境调用现存对象.那么,如何在新环境中 ...

  2. 设计模式(C#)——02简单工厂模式

    推荐阅读:  我的CSDN  我的博客园  QQ群:704621321       工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来.通俗来说,你只关心怎么用,不用关心怎么做 ...

  3. Vue 关于多个父子组件嵌套传值

    prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来.这是为了防止子组件无意修改了父组件的状态——这会让应用的数据流难以理解. props: { selectMember: { ...

  4. matplotlib绘制矢量图像(svg),pdf and ps文件

    机器学习的过程中处理数据,会遇到数据可视化的问题. 大部分都是利用python的matplotlib库进行数据的可视化处理. plt.show() 默认都是输出.png文件,图片只要稍微放大一点,就糊 ...

  5. Codeforces Round #504 E - Down or Right 交互题

    1023E 题意: 交互题.在一个有障碍地图中,问如何走才能从(1,1)走到(n,n),只能向右或者向左走.每次询问两个点,回复你这两个点能不能走通. 思路: 只用最多2*n-2次询问.从(1,1), ...

  6. HDU 3081 Marriage Match II 二分 + 网络流

    Marriage Match II 题意:有n个男生,n个女生,现在有 f 条男生女生是朋友的关系, 现在有 m 条女生女生是朋友的关系, 朋友的朋友是朋友,现在进行 k 轮游戏,每轮游戏都要男生和女 ...

  7. hdu 6092 Rikka with Subset(多重背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6092 #include <cstdio> #include <iostream> ...

  8. hdu 3974 Assign the task(线段树)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3974 题意:给定一棵树,50000个节点,50000个操作,C x表示查询x节点的值,T x y表示更 ...

  9. 常用分享功能.超级简单,qq 微信 新浪微博分享

    <div id="share"> <a href="javascript:void(0)" share-type="qzone&qu ...

  10. 变量的范围 namespace

    变量的范围 范围 变量有 菊部变量 和 全局变量之分, local variable 和 global variable 一般在函数体外定义的变量是全局的,函数体内定义的变量只能在函数内使用 注意:在 ...