1、EL式
下記二種類がある。
① ${式} : JSPの出力(レンダリング)時に評価 (JSP2.0から)
② #{式} : タグハンドラにより任意のタイミングで評価 (JSP2.1から)

2、オブジェクトへのアクセス
・オブジェクトへ: ${オブジェクト名}
・オブジェクトのプロパティへ: ${オブジェクト名.プロパティ名} また、${オブジェクト名.プロパティ1.プロパティ2}もできる
・listへ: ${list[インデックス]}
・mapへ: ${map[キー]} 或は ${map.キー}

3、演算子
演算子一覧(※演算子の括弧内は、別名)

分類 演算子 説明
算術 + 加算
- 減算
* 乗算
/ (div) 除算
% (mod) 剰余
比較 == (eq) 等しい
!= (ne) 等しくない
< (lt) 小さい
> (gt) 大きい
<= (le) 以下
>= (ge) 以上
empty nullまたは空文字
論理 && (and) 集合積
|| (or) 集合和
! (not) 否定
2項 a ? b : c 「a」の場合は「b」、「a」以外の場合は「c」

4、暗黙オブジェクト

暗黙オブジェクト 内容 JSP式相当
pageScope ページスコープ ${pageScope.name} <%= pageContext.getAttribute("name") %>
requestScope リクエストスコープ(リクエストアトリビュート) ${requestScope.name} <%= request.getAttribute("name") %>
sessionScope セッションスコープ ${sessionScope.name} <%= session.getAttribute("name") %>
applicationScope アプリケーションスコープ ${applicationScope.name} <%= application.getAttribute("name") %>
pageContext PageContext    
param リクエストパラメーター(URIのクエリー文字列) ${param.name} <%= request.getParameter("name") %>
paramValues リクエストパラメーター(配列で取得) ${paramValues.name[0]} <%= request.getParameterValues("name")[0] %>
header リクエストヘッダー ${header["user-agent"]} <%= request.getHeader("user-agent") %>
headerValues リクエストヘッダー(配列で取得) ${headerValues["user-agent"][0]}  
cookie クッキー ${cookie.key.name}
${cookie.key.value}
<% for (Cookie c : request.getCookies())
{
    if ("key".equals(c.getName())) {
      out.println(c.getName());
      out.print(c.getValue());
      break;
    }
} %>
initParam web.xmlに指定されている初期化パラメーター


<web-app ~>

 <context-param>
  <param-name>name</param-name>
  <param-value>value</param-value>
 </context-param>

</web-app>
${initParam.name} <%= pageContext.getServletContext()
      .getInitParameter("name") %>

5、予約語
EL式の予約語
  and or div eq ge gt lt lt ne true false 
  instanceof mod not null empty

6、EL式をオフする
1)pageディレクティブでオフ
  <%@page isELIgnored="true"%>
2)web.xmlの<jsp-config>で一括で複数のJSP上オフ
  <jsp-config>
    <jsp-property-group>
      <url-pattern/*<url-pattern>
      <el-ignored>true</el-ignored>
    </jsp-property-group>
  </jsp-config>

JSP基本_EL式的更多相关文章

  1. java攻城师之路--复习java web之jsp入门_El表达式_JSTL标签库

    JSP 技术掌握:JSP语法 + EL + JSTL 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP ...

  2. JSP的隐式对象

    JSP支持九个自动定义的变量,江湖人称隐含对象.这九个隐含对象的简介见下表: 参考资料:http://www.runoob.com/jsp/jsp-syntax.html

  3. 复习java web之jsp入门_El表达式_JSTL标签库

    JSP 技术掌握:JSP语法 + EL + JSTL 为什么sun推出 JSP技术 ? Servlet 生成网页比较复杂,本身不支持HTML语法,html代码需要通过response输出流输出,JSP ...

  4. JSP(工作原理,组成部分,指令标签,动作标签,隐式对象)

    目录 JSP JSP 什么是JSP JSP全名为Java Server Pages 中文名叫java服务器页面 它是在传统的网页HTML文件(.htm,.html)中插入Java程序段和JSP标记 后 ...

  5. JSP页面组件

    一.JSP指令 1.page指令 定义:将关于JSP页面一般设置通知给web容器的属性. 语法:<%@ page attribute_list%> 属性:language;extends; ...

  6. JavaWeb---总结(十六)JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  7. 【转】JSP总结

    day1 JSP 定义:     1)Java Server Page, Java EE 组件,本质上是 Servlet.     2)运行在 Web Container.接收 Http Reques ...

  8. Java Web编程的主要组件技术——JSP

    参考书籍:<J2EE开源编程精要15讲> JSP(Java Server Page)页面由HTML代码和嵌入其中的Java代码组成. 简单的JSP页面如: <html> < ...

  9. JSP的学习(2)——语法知识一

    上一篇<JSP的学习>讲述了JSP的一些基础知识和底层原理,本篇将来学习JSP所需掌握的语法知识等. JSP的语法主要包括以下几个部分的内容: 1)         JSP模板元素 2)  ...

随机推荐

  1. Linux下统计局域网流量

    1:统计10.86.0.0/16网段的内网流量情况 将下面脚本保存成文件traffic-lan.sh(运行后需要等待10秒抓包) tcpdump -nqt src net and dst net ! ...

  2. switch语句的功能是否完全可以使用if else多选择结构来代替?如果是,为什么还需要switch结构?

  3. Jmeter(四十一)分布式测试(转!)

    寄语路人休掩鼻,活人不及死人香. -------<随园诗话>袁枚 转自:https://www.cnblogs.com/imyalost/p/8306866.html 1.修改Contor ...

  4. [UE4]修改枪支碰撞体

    一.Simple Collision:显示简单碰撞体,Comlex Collision:显示复杂碰撞体 二.添加简单和复杂碰撞体 三.自动生成复杂精确的碰撞体

  5. header头参数不能带下划线

    header头参数不能带下划线:game_id是错误的

  6. Mybatis 系列8-结合源码解析select、resultMap的用法

    [Mybatis 系列10-结合源码解析mybatis 执行流程] [Mybatis 系列9-强大的动态sql 语句] [Mybatis 系列8-结合源码解析select.resultMap的用法] ...

  7. 02-第一个Java程序

    学习java的第一个程序 记录自己的学习 记录自己的坚持 记录自己的梦想 public class Hello{ public static void main(String[] args) { Sy ...

  8. CS229 6.16 Neurons Networks linear decoders and its implements

    Sparse AutoEncoder是一个三层结构的网络,分别为输入输出与隐层,前边自编码器的描述可知,神经网络中的神经元都采用相同的激励函数,Linear Decoders 修改了自编码器的定义,对 ...

  9. day25类的组合多态封装

    类的组合多态与封装类的组合 1. 什么是组合  组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象 2. 为何要用组合  通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,可以 ...

  10. lunix 项目部署 *****

    linux基本管理命令 服务器上安装服务,python3.6(宿主机上的物理解释器)1.虚拟解释器virtualenv虚拟出多个干净.隔离的python解释器环境问题:管理上较为麻烦,需要找到venv ...