Java Web-EL表达式 in JSP
Java Web-EL表达式 in JSP
概念
EL(Expression Language)是一种表达式语言,可以替换和简化JSP页面上JAVA代码的书写
语法
${<在这里写表达式>}
一般只用来写表达式,不写太过于复杂的东西,业务相关的由JavaBean负责
表达式的结果会作为HTML的资源进行直接展示
作用
运算
支持的运算符:
算术运算符:+-*/(也可以用div表示)%(也可以用mod表示)
比较运算符> < >= <= == !=
逻辑运算符;&& || !
空运算符:empty:用于判断字符串、集合、数组对象是否为null或者长度是否为0
例如:${empty list},如果要返回true,list就必须为Null或者长度为0
可以取反:${! empty list}或者${not empty list}
对于字符串、List、map等等类型都适用
获取值
注意,EL表达式只能从域对象获取值
语法:语法有两种
${域名称.键名}:从指定域中获取指定键的值,如果不存在的话就返回空串
域名称:
- pageScope:从pageContext域中获取值
- requestScope:从request域中获取值
- sessionScope:从session中获取值
- applicationScope:从application(ServletContext)中获取值
${键名}:省略了域名称
这种写法表示依次从最小的域中去查找是否有该键对应的值,直到找到为止
问题:对于非字符串类型的值该如何获取?
对于自定义类的对象类型的值:如果直接获取对象,打印出来的是对象的地址值。如果想要里面的成员变量,就想要通过对象的属性来获取(注意是属性而不是成员变量,当然一般这两个是一样的)。
例如,一个people类有一个成员变量为String name,然后定义了setter和getter,属性名也是name,那么要访问该属性就可以使用${people.name}
再例如,如果我们在类中定义了一个Date类型的成员变量,其对应着有一个方法为getYear(),那么year就是该对象的一个属性,尽管我们没有在类中定义year这个成员变量。此时我们可以通过${people.year}来获取该属性值
因为它本质上调用的是getter,而不是成员变量
同样的,如果我们自定义一个属性并设置getter和setter,我们就可以通过设置getter来自定义输出内容了
对于List类型的值:
获取列表:%{域名称.键名},这样得到的是[]包含着的所有元素
- 获取特定元素:%{域名称.键名[索引]}
如果角标越界了,就返回空串,而不是报错
对于从Map集合类型的对象中获取值:
- ${域名称.键名.key名称}
- ${域名称.键名["key名称"]}
注意第一种方法的key名是不加双引号的,第二种是加的
注意
JSP默认支持EL表达式
如果我们想要忽略EL表达式、直接展示源文本,可以在JSP中设置isELIgnored属性为"true",使得整个页面的EL表达式失效为普通文本。
如果想要屏蔽单个EL表达式,可以直接将EL表达式的符号进行转义:在EL表达式之前加\表示转义
隐式对象
在EL中不需要创建就能直接拿来用的对象就叫隐式对象
最常用的是pageContext对象,它的功能有:
获取JSP其他八个内置对象
${pageContext.XXX}(因为pageContext有getXXX方法,所以XXX是它的属性)
例如:${pageContext.request.contextPath}来获取虚拟目录,这是一种在JSP页面动态获取项目在服务器上的 虚拟目录的方法
我们建议在涉及到目录的地方都使用动态获取虚拟目录的方式,以便于项目在不同位置的部署使用,例如:
Java Web-EL表达式 in JSP的更多相关文章
- java Web EL表达式详解
1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护.最基本的语法是${express}. 2.获取并显示数据 从四个域中通过 ...
- JAVA WEB EL表达式注入
看猪猪侠以前的洞,顺便总结下: 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的we ...
- [Java.web]EL表达式
<%@page import="cn.itcast.domain.Address"%> <%@page import="cn.itcast.domain ...
- 杂项-Java:EL表达式
ylbtech-杂项-Java:EL表达式 EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提 ...
- Java Web学习笔记之---JSP
Java Web学习笔记之---JSP (一)JSP常用语法 (1)HTML注释 <!--所要注释的内容 --> 在客户端显示一个注释. (2)隐藏注释 <%--所要注释的内容--% ...
- java web中servlet、jsp、html 互相访问的路径问题
java web中servlet.jsp.html 互相访问的路径问题 在java web种经常出现 404找不到网页的错误,究其原因,一般是访问的路径不对. java web中的路径使用按我的分法可 ...
- JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础
JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次 ...
- Java:EL表达式
ylbtech-Java:EL表达式 EL(Expression Language) 是为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 ...
- Java web课程学习之JSP
JSP jsp隐式对象:JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. jsp脚本片段 l jsp脚本片段是指 ...
- java、el表达式中保留小数的方法
Java中: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; p ...
随机推荐
- Flutter移动电商实战 --(19)首页_火爆专区商品接口制作
Dart中可选参数的设置 上节课在作通用方法的时候,我们的参数使用了一个必选参数,其实我们可以使用一个可选参数.Dart中的可选参数,直接使用“{}”(大括号)就可以了.可选参数在调用的时候必须使用p ...
- vue的路由认识
this.$router.options.routes //获得整个路由路径对象 this.$route.matched //获得当前路由的路径对象
- String字符串的截取
根据某个字段将字符串分割成绩部分 String str = "string number one 1/9/0"; //将字符串由/ 截取成绩部分 String[] strs = s ...
- 开发CLI命令行
命令行工具:CLI 是在命令行终端使用的工具,如git, npm, vim 都是CLI工具.比如我们可以通过 git clone 等命令简单把远程代码复制到本地 和 cli 相对的是图形用户界面(gu ...
- OpenLDAP管理命令详解
一.OpenLDAP命令汇总 ldapsearch:搜索 OpenLDAP 目录树条目. ldapadd:通过 LDIF 格式,添加目录树条目. ldapdelete:删除 OpenLDAP 目录树条 ...
- iOS-同步下载与异步下载
一.同步下载(交互不好,容易出现卡死现象,一般下载数据较小或有特定需求才使用). 发送同步请求后,程序将停止用户交互,直到服务器返回数据完成后,才进行下一步的操作. //第一步:创建URL NSURL ...
- ubuntu 16 搭建只能上传不可下载删除ftp服务
安装 VSFTPD,(建议使用FileZill测试,报错能看到原因) 如果使用window文件管理连接,要注意下图的设置 使用 apt-get 安装 vsftpd sudo apt-get insta ...
- Session服务器之Memcached与Redis
安装Memcached[root@nginx ~]# yum -y install libevent memcached 指定用户大小等信息,工作环境中常指定大小一般为4到8G,此信息测试使用.[ro ...
- 搭建小规模邮件服务器(winmail-server)
Winmail mail server邮件系统的安装及使用. 在安装之前首先要配置服务器固定的IP地址.子网掩码和DNS服务器(网关我这里暂时用不着). 先来配置IP地址信息,使两台虚拟机能够互联互通 ...
- java中序列化的作用
一 什么叫序列化 通俗点讲:它是处理对象流的一种机制,即可以很方便的保存内存中java对象的状态,同时也为了方便传输. 二 序列化有什么作用 1.方便传输,速度快,还很安全,被调用方序列化,调用方反 ...