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. 王某人从0开始学习lorawan的笔记_0

    最近老板想做lorawan的项目,交给我了,我也应承下来了,但是!!!我TM连lorawan是啥子我都不知道啊啊啊啊啊! 真希望我女朋友可以看穿我的倔强,给我1千万,让我专心当舔狗,等等,我的女朋友? ...

  2. python decode encode 解码与编码问题

    python 解码与编码问题 1.decode 俗称解码,把编码解码成unicode,例如一个字符串变量 str 是utf-8编码,使用str.decode('utf-8')  ,就是把utf-8编码 ...

  3. Shiro的几个关键类

    Shiro在于Spring集成中,需要配置SecurityManager,Realm,ShiroFilterFactoryBean这三个类.在Web环境中SecurityManager一般配置Defa ...

  4. 推荐一个比 ls 命令速度快 100 倍的文件目录浏览神器

    本文首发于:微信公众号「运维之美」,公众号 ID:Hi-Linux. 「运维之美」是一个有情怀.有态度,专注于 Linux 运维相关技术文章分享的公众号.公众号致力于为广大运维工作者分享各类技术文章和 ...

  5. iOS中的几个重要方法

    iOS开发中几个重要的方法: 加载类到内存,程序刚启动的时候调用,调用在main函数之前 1.+(void)load{ } 初始化类,类第一次使用的时候调用一次 2.+(void)initialize ...

  6. CodeForces 1107 - G Vasya and Maximum Profit 线段树

    题目传送门 题解: 枚举 r 的位置. 线段树每个叶子节点存的是对应的位置到当前位置的价值. 每次往右边移动一个r的话,那么改变的信息有2个信息: 1. sum(a-ci) 2.gap(l, r) 对 ...

  7. 2017ACM总结

    首先对自己表示强烈的谴责, 这个时间应该是打cf的时间, 没有想到我又秀到了自己, 放弃了CF, 23333, 菜鸡wxk. 高中刚毕业的时候,听大学生们跪求老师不要给挂科,当时想的是,哇上了大学就不 ...

  8. Atcoder D - XOR Replace(思维)

    题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_d 题解:稍微想一下就知道除了第一次的x是所有的异或值,之后的x都是原先被替换掉的a[i]所以要想 ...

  9. 牛客网暑期ACM多校训练营(第三场) E Sort String 哈希处理字符串(模板)

    链接:https://www.nowcoder.com/acm/contest/141/E来源:牛客网 Eddy likes to play with string which is a sequen ...

  10. .net core Webapi +EF

    开发工具 Vs2017 +MSsqlsever 打开VS2017,新建web项目 点击确认,生成项目,在项目中增加文件夹Model,在Model中增加类TodoItem public class To ...