EL的基本使用

总结:EL操作的是作用域

<body>
<%
Users users = new Users("lisi","lisi123","[email protected]");
Address address = new Address("四川","成都","武侯区");
users.setAddress(address);
Users users1 = new Users("lisi1","lisi123","[email protected]");
Address address1 = new Address("四川1","成都1","武侯区1");
users1.setAddress(address1);
Users users2 = new Users("lisi2","lisi123","[email protected]");
Address address2 = new Address("四川2","成都2","武侯区2");
users2.setAddress(address2);
Users users3 = new Users("lisi3","lisi123","[email protected]");
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>

时间: 2024-12-15 01:46:35

EL的基本使用的相关文章

Spring EL和资源调用

Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似于jsp的EL表达式.我们在开发过程中,经常会涉及到调用各种资源,包含普通文本.网址.配置文件.系统环境变量等,我们可以使用Spring的表达式语言来实现资源的注入. Spring主要在注解@Value的参数中使用表达式: (1)注入普通字符 (2)注入操作系统属性 (3)注入表达式运算结果 (4)注入其他Bean的属性 (5)注入文件内容 (6)注入网址内容 (7)注入属性文件 示例代码如下: 1.准备,增加com

坑爹的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

jsp&amp;el&amp;jstl-01

案例1-在页面中展示所有商品信息,不要使用jsp的脚本技术分析: jsp/el/jstl jsp: java 服务器页面 作用: 将内容的生成和信息的展示相分离 运行在服务器端,本质上就是一个serlvet,产生的java文件和class保留在tomcat的word目录下.jsp脚本: <%..%> java代码片段 <%=..%> 输出表达式 相当于out.print(); <%!...%> 声明成员jsp的指令 作用:声明jsp页面的一些属性和动作 格式: <

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!

自定义el函数

1.1.1 自定义EL函数(EL调用Java的函数) 第一步:创建一个Java类.方法必须是静态方法. public static String sayHello(String name){ return "Hello " + name; } 第二步:提供一个tld文件.(tld文件标签库文件.放置在WEB-INF 下) 在tld文件中定义: <!-- 自定义EL函数 --> <function> <!-- 函数名 --> <name>s

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

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

EL表达式参考手册

一.EL简介 1.语法结构     ${expression}2.[]与.运算符     EL 提供.和[]两种运算符来存取数据.    当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 [].例如:        ${user.My-Name}应当改为${user["My-Name"] }    如果要动态取值时,就可以用[]来做,而.无法做到动态取值.例如:        ${sessionScope.user[data]}中data 是一个变量3

JSP页面用EL表达式 输出date格式

1.头上引入标签 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 2.<fmt:formatDate value="${project.creatDate }" patt

jsp&amp;el&amp;jstl

一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print() 3)<%!java代码%> ---- 会被翻译成servlet的成员的内容 jsp注释:  不同的注释可见范围是不同 1)Html注释:<!--注释内容--> ---可见范围 jsp源码.翻译后的servlet.页面 显