EL表达式的基本知识

1.EL表达式


[1] 简介

> JSP表达式 <%= %> 用于向页面中输出一个对象。

> 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段。

> EL表达式用来向页面输出内容


[2] 基本语法

> ${表达式}

> EL表达式可以 - 使用 ${属性名}

- 如果只填写一个属性名,EL表达式会自动做全域查找。

- 所谓的全域查找,就是按照page request session

application四个域范围内分别查找,找到就返回属性,如果没找到什么都不返还。

- 我们还可以指定去哪个域查找(域实际上就是Map)

(page request,session application是域对象)

以下几个是对应的域

pageScope

requestScope

sessionScope

applicationScope

- 例子:

查找request中属性

${requestScope.key}

${requestScope.key.属性名},调用的是属性的get方法

查找session中的属性

${sessionScope.属性名}

<%
	Student student1=new Student(1,"张三","123");
	Student student2=new Student(2,"张1","123");
	Student student3=new Student(3,"张2","123");
	Student student4=new Student(4,"张4","123");
	 pageContext.setAttribute("student", student1);
	 request.setAttribute("student",student2);
         session.setAttribute("student", student3);
	 application.setAttribute("student", student4);
%>
	${student}<br>
	${pageScope.student.name}<br>
	${requestScope.student }<br>
	${sessionScope.student.id }<br>
	${applicationScope.student.password }<br>

- 注意:EL表达式只能获取域中的属性

EL表达式不能直接调用对象的方法

- 通过EL表达式读取对象的属性时,只需要${对象.属性名}

EL表达式会自动调用对象的对应的getter方法,通过将属性名首字母大写,然后加上一个get

注意:只要有属性,就可以一直点下去,也就说对象的属性是对象的话,我们也可以通过对象的属性的属性的方式调用!

- 当读取一些名字比较特殊的属性时,这种特殊值必须要指定域,例如属性名带-:

${requestScope[‘属性名‘]}


[3] 隐含对象

> EL中一共有11个内置对象。

- pageContext

类型 : PageContext

它和JSP中pageContext是一个东西

作用 : 可以获取到JSP中其他的隐含对象

例如:可以获取项目名:

- pageScope

类型:Map<String,Object>

代表:page域中的属性

作用:可以获取到page域中的属性

- requestScope(一次请求,转发)

类型:Map<String,Object>

代表:request域中的属性

作用:可以获取到request域中的属性

- sessionScope

类型:Map<String,Object>

代表:session域中的属性

作用:可以获取到session域中的属性

- applicationScope

类型:Map<String,Object>

代表:application域中的属性

作用:可以获取到application域中的属性

- param

类型: Map<String , String>

代表:用户发送的请求参数

作用:可以获取请求参数

用法: ${param.参数名}

- paramValues

类型:Map<String , String[]>

代表:一个请求参数对应的多个值

用法: ${paramValues.参数名[索引]}

- header

作用:可以获取到用户发送的请求头

类型:Map<String , String>

例如:获取用户的系统信息 ${header[‘User-Agent‘]}

? - headerValues

类型: Map<String , String[]>

作用:可以获取一个头的多个值

? - initParam;

类型:Map<String , String>

作用:获取整个WEB应用的初始化参数

? - cookie

类型:Map<String , Cookie>


[4] 运算

> 在EL中可以直接使用运算符进行运算。

> 在EL中可以使用Empty元素符:

如果值为null , empty则返回 true

如果为空串, 则返回 true

空的集合 返回true

> 所以empty元素符经常用来判断集合或者字符串是否为空

时间: 2024-12-15 01:37:42

EL表达式的基本知识的相关文章

EL表达式的一些知识

知识点1: <%Student s1=new Student(2,"张三","100");//创建一个对象 pageContext.setAttribute("stu1", s1);//设置到page域中 %> ${stu1.name}//获得对象stu1的name值.看起来像是调用对象的属性,其实调用的是对象的方法.属性首字母大写加上get,实际上调用的是getName().如果对象Student类里没有这个函数,则不能正常显示.

EL表达式基础知识

1.EL表达式 [1] 简介 > JSP表达式 <%= %> 用于向页面中输出一个对象.                   > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段.                  > 使用EL表达式来代替JSP表达式 ,使用标签来代替脚本片段.                  > EL表达式用来向页面输出内容 [2] 基本语法 > ${表达式} > EL表达式可以从域中获取属性. - 使用 ${属性名

Java Web(六) EL表达式

这也是属于JSP范围内的知识,使用EL表达式,能更好的使用JSP中的各种内置对象和作用域,说点闲话,马上要出去实习了,有点恐慌,可能这是马上要出去工作的学生的通病,继续努力把,兵来将挡水来土掩, --WH 一.EL表达式 JSP中可以使用EL表达式,EL表达式是用"${}"括起来的脚本,用来更方便地读取对象,EL表达式写在JSP的HTML代码中,而不能写在"<%%>"引起的JSP脚本中,现在就来了解一下,EL表达式是如何来替代JSP脚本或者JSP行为的.

Java学习——JSTL标签与EL表达式之间的微妙关系

原文总结的太好了,忍不住记录.转发. 原文地址:http://blog.csdn.net/u010168160/article/details/49182867 目录(?)[-] 一EL表达式 EL相关概念 EL基本格式 EL语法组成-标识符 PS使用EL的时候默认会以一定顺序pageContextrequestsessionapplication搜索四个作用域将最先找到的变量值显示出来 开启和关闭EL表达式 二JSTL标签库 相关概念 JSTL标签库分类 JSTL的优点 为什么要用JSTL 使

el 表达式 强制类型转换

el 表达式 强制类型转换 今天有人问我了这个问题 jsp页面中,能否实现 <%  request.setAttrites("a","1234");  %> a=${(a)+1} 我隐约记得是jsp会默认将a转化为integer类型然后相加的,但是记不太清楚了,于是专门写了这个jsp页面,进行了下验证. 发现确实是这个样子. 然后上网搜索了下,发现el表达式确实是将内容进行相应的值转换后然后返回相应的类型的. 相关帖子: http://www.iteye

坑爹的EL 表达式。

先说结论: Property 'OrgName0' not found on type EL表达式只与相关类的get方法的有关,就算你没定义变量,get 方法直接返回一个变量,或者常量都可以.这条没问题. EL表达式的大小写规则:当get方法后的字符如果前两个都是大写时,EL表达式需要大写.除此之外均为小写. package com.dobs.codedeploy.domain; public class Image { private String imageName;private Stri

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

JavaWeb:EL表达式

JavaWeb:EL表达式 EL表达式说明 1.Expression Language语言,一种用于JSP文件中的数据访问的语言. 2.能够简化JSP文件中该数据访问的代码,可用来替代传统的基于<%= %>和部分<% %>的程序片段. 3.EL表达式使得JSP文件的创建人员能够用更加简单的语法来访问数据. 4.基本形式为: ${var} EL运算符 (来自孤傲苍狼) 1.关系运算符 2.逻辑运算符: 3.empty运算符:检查对象是否为null(空) 4.二元表达式:${user!

Javaweb学习笔记6—EL表达式与JSTL及自定义标签

 前几天博客被黑了,导致博客登陆不上,把前几天应该发的东西的东西重新发一遍 今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps:我的思维是用的xMind画的,如果你对我的思维导图感兴趣并且想看到你们跟详细的备注信息,请点击下载 另外:如果图看不清的话请右击---在新窗口中打开会清楚很多. 一.EL表达式 1,EL简介 Expression Lan