EL表达式(Expression Language)
语法:
${Expression}
来取代难以维护的Java脚本元素,或笨拙的jsp:useBean和jsp:getProperty;
尤其重要的是,表达式语言支持下面的功能:
1.精确地访问存储对象;
要输出“作用域变量”(用setAttribute存储在PageCentext, HttpServletRequest,HttpSession或ServletCnntext中的对象)saleItem .我们使用${saleItem}。
2.bean属性的简略记法;
要输出作用域变量company的campanyName属性(即getCampanyName方法的结果),我们使用${company.companyName}。而要访问作用域变量company的president属性的firstName属性,我们使用${company.president.firstIVame}
3对集合元素的简单访问;
要访问数组、List或Map的元素,我们使用$ {variable[indexOrkey]}。如果索引或键所采用的形式可以满足合法java变量名的要求,则bean的点号记法可以和集合的括号记法互换。
4对请求参数、cookie和其他请求数据的简单访问;
如果要访问标准的请求数据,我们可以使用几个预定义隐式对象。
5一组为数不多但有效的简单运算符;
在EL表达式内操作对象时,可以使用任何算术、关系、逻辑或空值检查(empty-testing)运算符。
6条件性输出;
在进行有选择地输出时,我们可以不必借助于java脚本元素。取而代之,我们可以使用${test ? option1 : option2}来完成这一功能。
7自动类型转换;
表达式语言移除了大多数类型转换的需求,可以省略很多将字符串解析成数字的代码。
8.空值取代错误消息。
大多数情况下,没有相应的值或NullPointerExceptions异常都会导致空字符串的出现,而非抛出异常。
示例:
bean:
package cn.donghaua.bean;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
servlet:
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
Person p1 = new Person("zhangsan",25);
Person p2 = new Person("zhaoliu",29);
req.setAttribute("person1", p1);
HttpSession session = req.getSession();
session.setAttribute("person2", p2);
RequestDispatcher disp = req.getRequestDispatcher("/WEB-INF/forward2.jsp");
disp.forward(req, resp); }
forward2.jsp
<body>
Resqust peson name:
${person1.name} <br>
Resqust peson age:
${person1.age}<br>
Session peson name:
${person2.name} <br>
Session peson age:
${person2.age}<br>
</body>
访问输出结果:
Resqust peson name: zhangsan
Resqust peson age: 25
Session peson name: zhaoliu
Session peson age: 29
EL表达式(Expression Language)的更多相关文章
- EL表达式Expression Language
表达式语言Expression Language目的:简化jsp代码 EL内置对象 1.pageContext2.pageScope3.requestScope4.sessionScope5.appl ...
- EL(Expression Language)表达式语言
EL(Expression Language)表达式语言 EL的基本语法是以${开始,以}结束 为了能够方便地输出数据,EL提供了11个内置对象,其中 2个内置对象为了方便输出请求参数 param用来 ...
- EL表达式(Exprission language)
EL介绍 Expressive Language, JSP2.0引入,简化jsp开发中对对象的引用,(可以直接读取对象的属性,不需要像之前java脚本那样去做,比较繁琐),使得访问存储在JavaBea ...
- EL(Expression Language)和JSTL标签(JSP Standard Tag Library)
一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java代码的 ...
- 11 JSP/EL表达式/EL函数
JSP * 概述: JSP(Java Server Pages)与Java Servlet一样,是在服务器端执行的不同的是先由服务器编译部署成Servlet执行 * JSP的运行原 ...
- EL表达式与JSTL(C)标签
一.EL表达式: Expression Language提供了在 JSP 脚本编制元素范围外(例如:脚本标签)使用运行时表达式的功能.脚本编制元素是指页面中能够用于在JSP 文件中嵌入 Java 代码 ...
- 一、jsp和Servlet基础理论及jstl和EL表达式用法
1.题外话:使用JSP有近一年半的时间了,但是开发量不大.昨天部门突然让做个读取EXCLE文件,然后在前台页面进行展示.并通过点击查看按钮可以对每条明细记录进行跳转后进行详情查看,并按照页面原型进行页 ...
- 2.EL表达式&JSTL标签库常用方法
1.EL表达式 Expression Language表达式语言,主要是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出. 格式为${表达式} EL表达式输出Bean的普通属性.数组属性.Li ...
- 第 13 章 剖析el表达式
13.1. 再谈el(Expression Language) 我们已经知道el是jsp-2.0规范的一部分,tomcat-5.x版本以上都已经能够支持jsp-2.0规范,但在更低版本的tomcat和 ...
- EL表达式与JSTL
内容包括 EL表达式 EL函数库 JSTL 核心标签库 格式化标签库 SQL标签库 XML标签库 自定义标签库 EL表达式 EL是Expression Language的是缩写,是JSP页面编写的一种 ...
随机推荐
- ios 开发 常见问题解决 (持续更新)
1.使用cocoaPods引用第三方类库,报错:file not found . 解决方案:设置 Project->Info->Configurations之后 clear ,然后再 ...
- 分布式拒绝服务攻击(DDoS)原理及防范【转】
DDoS攻击概念 DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应. DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击 ...
- 利用ItextPdf、core-renderer-R8 来生成PDF
近期因为工作上的须要,须要做一个简历产品的下载功能,而下载的形式要去为PDF,内容要求为整个简历的内容,并且格式上要求和简历的格式排版时一致的!前期调研.开发,最后測试上线.差点儿相同花了7天的时间. ...
- leetcode之 median of two sorted arrays
这是我做的第二个leetcode题目,一开始以为和第一个一样很简单,但是做的过程中才发现这个题目非常难,给人一种“刚上战场就踩上地雷挂掉了”的感觉.后来搜了一下leetcode的难度分布表(leetc ...
- Global.asax文件的说明
每个应用程序可以包含一个特殊的目录(/bin)和两个特殊的文件(Web.config和Global.asax) Global.asax文件的使用: 作用:处理应用程序范围内的事件,声明应用程序范围的对 ...
- Nutch2.3分布执行过程中Mongodb中数据的变化
inject $ nutch inject /opt/nutch/runtime/local/urls/ > db.stats() { "db" : "nutch& ...
- C#根据汉字生成拼音首字母全称
static void Main(string[] args) { string s = GetChineseSpell("周杰伦"); Console.WriteLine(s.T ...
- Oracle的总体回顾
1.多表查询:一张以上的表进行查询,称为多表查询,多表查询的时候可以为表指定别名的方式以简化查询列的编写,在多表查询中,会产生笛卡尔积,就是两张表的总数相乘得到的结果,如果要想消除笛卡尔积要通过关联条 ...
- DOM缘起
DOM是现在按W3C标准的浏览器均实现的标准.HTML.CSS.DOM共同在结构.表现.交互上共同支撑起一个页面.当然,必须以用户为中心.平稳退化.逐渐增强.DOM的操作是通过JS来实现的.JS最初在 ...
- Javascript中的attribute和property分析
attribute和property这两个单词,都有属性的意思,attribute有属性.特质的意思,property则有性质,性能的意思. 首先需要明确的是,在规范中,读取和设置attribute的 ...