总结:EL操作的是作用域

<body>
<%
Users users = new Users("lisi","lisi123","lisi@lisi.com");
Address address = new Address("四川","成都","武侯区");
users.setAddress(address);
Users users1 = new Users("lisi1","lisi123","lisi@lisi.com");
Address address1 = new Address("四川1","成都1","武侯区1");
users1.setAddress(address1);
Users users2 = new Users("lisi2","lisi123","lisi@lisi.com");
Address address2 = new Address("四川2","成都2","武侯区2");
users2.setAddress(address2);
Users users3 = new Users("lisi3","lisi123","lisi@lisi.com");
Address address3 = new Address("四川3","成都3","武侯区3");
users3.setAddress(address3);

String prop = "city";

pageContext.setAttribute("u", users);
request.setAttribute("u", users1);
//session.setAttribute("u", users2);
application.setAttribute("u", users3);
%>
<%=((Users)request.getAttribute("u")).getUsername() %>
<%=((Users)request.getAttribute("u")).getAddress().getProvince() %>
<hr>
<!--
如果对应的作用域中没有相应的属性的时候 直接返回空字符串

默认取值的规则 按照作用于的范围从小到大的去查找
-->
${name}
${u.username }<br>
${u.address.province }

${u.address['province'] }

${u.address[prop] }
<!--
如果去那的属性在对应的对象中没有 则会报错
-->
<hr>
<%-- ${u.address['prop'] } --%>

<!--
关于el表达式的作用域

如果不知道作用域的时候 默认从小到大 从PageContext(page)开始查找
如果要指定作用域 由各大作用域的别名+Scope指定 ${requestScope.u}

-->
${sessionScope.u.username }

<hr>

${u[param.name] }<br>
test:${u.test1 }
<!--
el表达式 不能嵌套
-->
<%-- ${u[${param.name}] } --%>
</body>

testcookie.jsp

<body>
<%

session.setAttribute("name", "lisi");
%>
${cookie.JSESSIONID.maxAge }
</body>

testparam.jsp

<body>
<!--
param包装了 从前端传进来的数据 通过键名去得到对应的值
如果有同名不同值的额情况 获取第一个

如果要获取同名的所有值 用paramValues去得到 返回一个字符串的数组 当我们输入的下标越界了 会返回空字符串

-->
Param:${param.name }
Params:${paramValues.name[2] }
</body>

el操作集合:

<body>
<%
List<String> list = new ArrayList<String>();

Map<String,Object> map = new HashMap<String,Object>();

for(int i=0;i<20;i++){
list.add("test list "+(i+1));
map.put("a"+(i+1),"test map "+(i+1));
}
request.setAttribute("l", list);
request.setAttribute("m", map);

%>
${l[1] }
<hr>
${m.a5 }<br>
${m['a6'] }
</body>

EL的基本使用的更多相关文章

  1. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  2. Mac制作U盘系统(OS X El Capitan)教程

    前言部分 重装过Mac OS X系统的人应该都深有体会,通过自带的重新安装 Mac OS X功能恢复系统(开机时按Command+R) 要耗费10几个小时才能完成(请求苹果国外服务器),但如果通过U盘 ...

  3. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

  4. java web学习总结(三十一) -------------------EL表达式

    一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...

  5. EL表达式的算术运算

    一个例子--乘法运算 ${book.bookCount * book.bookPrice } 两个不同对象的EL表达式的算术运算同理 ${student.studentNum * book.bookP ...

  6. EL表达式杂项

    1.<%@ page isELIgnored="false" %> 是否忽略EL表达式,如果值为ture,那么  ${..}这样的会直接原样输出,不会进行EL表达式计算 ...

  7. [转载]El Capitan 中 SIP 介绍

    这两天大家纷纷将 OS X 系统升级到了 El Capitan,然后发现,一些注入的工具无法使用了,某些系统目录无法使用了,第三方未签名的 kext 无法加载了,问题一堆堆的.这是因为,Mac OS ...

  8. [Java] JSP笔记 - EL、JSTL 常用标签

    一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...

  9. c:out标签和el表达式与跨域攻击XSS

    很多时候,在JSP中我们喜欢用EL表达式输出信息,但是最近发现这个确实存在个问题:XSS即跨域攻击. 下面看个例子: <c:out value="${student.name}&quo ...

  10. JavaWeb:EL表达式

    JavaWeb:EL表达式 说明 1.Expression Language语言,一种用于JSP文件中的数据访问的语言. 2.能够简化JSP文件中该数据访问的代码,可用来替代传统的基于<%= % ...

随机推荐

  1. GVIM设置背景颜色

    首先找到GVim的安装目录,在安装目录下你可以发现一个_vimrc文件,使用文本编辑器打开后在里面添加两行代码即可:代码如下set gfn=Courier_New:h14colorscheme tor ...

  2. 3d世界是怎样呈现到屏幕上的

    要把一个3d物体呈现在屏幕上,要经过一系列的步骤. 描述3d世界 把3d世界绘制在二维屏幕上 如何描述一个3D世界? 数学家早就给出了3D世界的模型,我们日常最熟悉的3维坐标系就是一个欧几里得空间(线 ...

  3. andorid 反编译

    1. 字节码文件转java文件 smali2java是一个将smali代码反编译成java代码的工具.什么是smali?smali是将Android字节码用可阅读的字符串形式表现出来的一种语言,可以称 ...

  4. jQuery中 attr和Prop的区别

    出自这里: http://www.365mini.com/page/jquery_noconflict.htm 在jQuery中,attr()函数和prop()函数都用于设置或获取指定的属性,它们的参 ...

  5. Android Studio 1.5 注解配置

    Project的build.gradle文件配置如下: // Top-level build file where you can add configuration options common t ...

  6. JQuery和Zepto的差异(部分)

    1.width()/height() Zepto.js: 由盒模型(box-sizing)决定 jQuery: 忽略盒模型,始终返回内容区域的宽/高(不包含 padding.border) jQuer ...

  7. scikit-learn 学习笔记-- Generalized Linear Models (三)

    Bayesian regression 前面介绍的线性模型都是从最小二乘,均方误差的角度去建立的,从最简单的最小二乘到带正则项的 lasso,ridge 等.而 Bayesian regression ...

  8. 重新学习之spring第一个程序,配置IOC容器

    第一步:导入相关jar包(此范例导入的是spring3.2.4版本,spring2.5版本只需要导入spring核心包即可) 第二步:在项目的src下配置applicationContext.xml的 ...

  9. test20181018 B君的第一题

    题意 分析 考场爆零做法 考虑dp,用\(f(i,j,0/1)\)表示i及其子树中形成j个边连通块的方案数,其中i是否向外连边. \(O(n^3)\),转移方程太复杂就打挂了. #include< ...

  10. 用Navicat复制数据库到本地(导入.sql文件运行)

    今天装数据库的机子没开,项目运行不了,于是还是决定在自己电脑上装数据库,由于新学数据库操作,记录一下 一.转储sql文件 右键点击数据库,转储sql文件,点击结构和数据 存放在本地,开始转储 转储完成 ...