`

EL表达式概述

 
阅读更多

EL表达式概述

一、EL 简介
1.语法结构
${expression}
2.[] . 运算符
EL 提供 . [] 两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如. ? 等并非字母或数字的符号,就一定要使用  [] 。例如:
${user.My-Name}应当改为 ${user["My-Name"] }
如果要动态取值时,就可以用[] 来做,而 . 无法做到动态取值。例如:
${sessionScope.user[data]} data  是一个变量
3.变量
EL存取变量数据的方法很简单,例如: ${username} 。它的意思是取出某一范围中名称为 username 的变量。
因为我们并没有指定哪一个范围的username ,所以它会依序从 Page Request Session Application 范围查找。
假如途中找到username ,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传 null
属性范围在EL 中的名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

二、EL 隐含对象
1.与范围有关的隐含对象
与范围有关的EL  隐含对象包含以下四个: pageScope requestScope sessionScope  applicationScope
它们基本上就和JSP pageContext request session application 一样;
EL 中,这四个隐含对象只能用来取得范围属性值,即 getAttribute(String name) ,却不能取得其他相关信息。

例如:我们要取得session 中储存一个属性 username 的值,可以利用下列方法:
session.getAttribute("username") 取得 username 的值,
EL 中则使用下列方法
${sessionScope.username}

2.与输入有关的隐含对象
与输入有关的隐含对象有两个:param paramValues ,它们是 EL 中比较特别的隐含对象。

例如我们要取得用户的请求参数时,可以利用下列方法:
request.getParameter(String name)
request.getParameterValues(String name)
EL 中则可以使用 param paramValues 两者来取得数据。
${param.name}
${paramValues.name}

3.其他隐含对象

cookie
JSTL并没有提供设定 cookie 的动作,
例:要取得cookie 中有一个设定名称为 userCountry 的值,可以使用 ${cookie.userCountry} 来取得它。

header headerValues
header 储存用户浏览器和服务端用来沟通的数据
例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}
另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues  来取得这些值。

initParam
initParam取得设定 web 站点的环境参数 (Context)
例:一般的方法String userid = (String)application.getInitParameter("userid");
可以使用 ${initParam.userid} 来取得名称为 userid

pageContext
pageContext取得其他有关用户要求或页面的详细信息。
${pageContext.request.queryString} 取得请求的参数字符串
${pageContext.request.requestURL} 取得请求的 URL ,但不包括请求之参数字符串
${pageContext.request.contextPath} 服务的 web application  的名称
${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  是否为新的
${pageContext.session.id} 取得 session  ID
${pageContext.servletContext.serverInfo} 取得主机端的服务信息

三、EL 运算符
1.算术运算符有五个: + - * $ / div % mod
2.关系运算符有六个: == eq != ne < lt > gt <= le >= ge
3.逻辑运算符有三个: && and || or ! not
4.其它运算符有三个: Empty 运算符、条件运算符、 () 运算符
例:${empty param.name} ${A?B:C} ${A*(B+C)}

四、EL 函数 (functions)
语法:ns:function( arg1, arg2, arg3 …. argN)
其中ns 为前置名称 (prefix) ,它必须和 taglib  指令的前置名称一置

分享到:
评论

相关推荐

    EL表达式详解

    ·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和${paramValues}。 ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值. pageScope 表示页面范围的变量. ...

    18-el&jstl源代码.rar

    1.EL 表达式概述 2.EL从域中取出数据(EL最重要的作用) 3.EL的内置对象11个 4.EL执行表达式 1.JSTL概述 2.JSTL下载与导入 3.JSTL核心库的常用标签 1.什么是模式 2.javaEE经历的模式 3.javaEE的三层架构

    dorado 5 用户指南 v1.1.doc

    10.5 Dorado默认提供的EL表达式 176 10.6 实现自定义EL表达式 178 11 I18N (国际化) 181 11.1 设置系统默认Locale 181 11.2 设置Session Locale 182 11.3 创建I18N文件 182 11.4 访问I18N 183 11.5 系统国际化资源的...

    Java Web入门经典第八章源代码-by 南邮-陈杨

    第8章?使用表达式语言(EL) 165 ?视频讲解:72分钟8.1 EL概述 165...182 8.7.1 应用EL访问JavaBean属性 182 8.7.2 应用EL表达式显示投票结果 183 8.7.3 应用EL显示用户的登录状态 184 8.8 小结 184 8.9 习题 185

    java web 开发学习手册2

    全书共分为4篇,21章,包括JavaWeb概述、搭建开发环境、Java语言基础、JavaScript语言、XML基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、EL表达式、JSTL标签库、数据库应用开发、文件上传下载管理、解析...

    java web 开发学习手册1

    全书共分为4篇,21章,包括JavaWeb概述、搭建开发环境、Java语言基础、JavaScript语言、XML基础、JSP语法、JSP内置对象、JavaBean技术、Servlet技术、EL表达式、JSTL标签库、数据库应用开发、文件上传下载管理、解析...

    JSP+Servlet+JavaBean

    初学者必须掌握的JSP+Servlet+JavaBean一些技术:JavaEE的概述、Servlet的基础、基于Servlet的会话跟踪、高级JDBC、JSP标准动作、EL表达式和JSTL

    《Java_Web应用开发实用教程》练习答案

    第2篇JSP高级技术分为7章,深入剖析了主流的Web开发框架,包括EL表达式语言、JSTL、自定义标签、Log4j、Hibernate、Spring框架;第3篇Java Web技术应用分为5章,介绍具体场景下的应用案例,包括注册登录模块的应用、...

    jsp应用开发与实践配书源码

    全书共分16章,内容包括Web应用开发概述、客户端应用技术基础、搭建JSP网站开发环境、Java语言基础、JSP基本语法、JSP的内置对象、JavaBean技术、Servlet技术、数据库应用开发、EL表达式、JSTL核心标签库、JSP操作...

    培训资料_jsp页面

    1、WEB技术概述 2、WEB应用程序简介 3、JSP简介 4、脚本元素、指令元素、动作元素 5、内置对象 6、参数传递、URL重写 7、理解Model1 8、EL表达式、JSTL标签 9、自定义标签

    动力节点老杜最新Javaweb教程学习文档分享

    主要内容包括:Servlet、JSP、EL表达式、JSTL标签库、Filter过滤器、Listener监听器。在讲解过程中采用的手法是从0到1,让小白学会源码分析,让大牛眼前一亮。总之,不管你是小白,还是已经在从事Java开发的工作者,...

    xmljava系统源码-jsp-jstl-engine:javajsp&jstl模板引擎

    支持自定义el转码,不需要对el表达式的输出做html转码,防止xss注入。 简单快速的标签重写功能,专门针对用模板生成模板。 支持java脚本和标签混合模式,这点与jsp一致,如果你追求极致性能那么可以完全使用java脚本...

    xmljava系统源码-wjsp:WEBPACK+JSP构建多页应用

    el表达式 服务端渲染(SEO) 热部署 js,css语法转换 eslint 热更新 支持Vue 打包压缩 IE9+ 支持传统JSP开发所的所有功能;可以通过自定义webpack配置来实现对react的支持;通过引入vue-router和vuex某一个页面完成可以...

    Java Web.md

    非常详细的javaWeb知识点梳理,涵盖:XML、网络通信、Tocmcat服务器概述、servlet、Request/Response、Cookie、Session、jsp、MVC开发模式、El/JSTL表达式、过滤器、监听器、AJAX、JSON、Maven等

    跟我学spring3(1-7)

    【第五章】Spring表达式语言 之 5.4在Bean定义中使用EL—跟我学spring3 【第六章】 AOP 之 6.1 AOP基础 ——跟我学spring3 【第六章】 AOP 之 6.2 AOP的HelloWorld ——跟我学spring3 【第六章】 AOP 之 6.3 基于...

    JAVA从入门到精通,SPRINGboot

    包括Java Web应用开发概述、HTML与CSS网页开发基础、JavaScript脚本语言、搭建开发环境、JSP基本语法、JSP内置对象、JavaBean技术、Servlet技术、过滤器和监听器、Java Web的数据库操作、EL(表达式语言)、JSTL标签...

    Servlet与JSP核心编程第2版

    16.1 应用el的驱动力 16.2 表达式语言的调用 16.3 阻止表达式语言的求值 16.4 阻止标准脚本元素的使用 16.5 访问作用域变量 16.6 访问bean的属性 16.7 访问集合 16.8 引用隐式对象 16.9 表达式语言...

    Java-Web程序设计(PPT).pptx

    会话跟踪技术 8 9 9.EL表达式 10 10.JSTL标签库 Java-Web程序设计(PPT)全文共389页,当前为第2页。 本章内容 Web 应用程序简介 HTTP 协议 Tomcat 简介 使用Eclipse开发Java Web 应用程序 静态的登录页面制作 使用...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版).part1

    使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...

Global site tag (gtag.js) - Google Analytics