el表达式

el表达式简化了java web的开发.

一、EL表达式简介

  EL 全名为Expression Language。EL主要作用:
  1、获取数据
    EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
  2、执行运算
    利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
  3、获取web开发常用对象
    EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
  4、调用Java方法
    EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。

1.1、获取数据

  使用EL表达式获取数据语法:"${标识符}"
  EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。

  EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<html>
<head>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello Java  Servelt</title>
</head>
<body>
<form action='/MyWebTestDemo1/HelloServet' method="get">
<input type="submit" name='提交'/>
</form>
<!-- 测试el表达式的使用  来测试下我们的javabean-->
<%
     request.setAttribute("name", "黑客世界");
%>
使用el表达式获取的数据为:${name}
<hr >
<!--  在jsp页面里面使用el表达式获取javabean的属性 -->
<%
  class Person{
     int age;
     String name="jack";
     public void Say(String name){
         System.out.println("hello"+name);
     }
}


   Person tom=new Person();
   tom.age=12;
   request.setAttribute("age", 24);
   
%>
使用el表达式获取javabean的属性为:${age}
<hr>
<!-- 使用el表达式来获取el表达式里面的数据 -->
<%
   class Person2{
    String name;
    String gender;
    public void  Person( String name){
        this.name=name;
    }
}

   Person2 jack=new Person2();
   jack.name="孤独苍狼";
   
   Person2 lucy=new Person2();
   lucy.name="白虎圣兽";
   
   List w=new ArrayList();
   w.add(jack);
   w.add(lucy);
   
%>
<!-- 使用el表达式获取list集合中的数据. -->
使用el表达式获取指定位置的数据:${w[1].name}
<!-- 使用el表达式同样可以获取map里面的数据. -->
<!-- el表达式同样可以执行关系运算和 -->
<h3>el表达式同样可以执行关系运算</h3>
加法运算:${25+36}<br />
减法运算:${25-36}<br />
乘法运算:${25*36}
除法运算:${25/36}
<hr>
<!-- 使用el表达式来检测对象是否为空使用empty表达式 -->
<h3>使用el表达式来进行关系运算............</h3><br>
<!-- 使用${user==null}和${user eq null}是等价的来看看下面的测试结果..... -->

<h3>el表达式的数据回显</h3>
<hr>
<%
   Person2 lily=new Person2();
   lily.gender="男";
%>
<input type="radio" name="gender" value="male" ${Person2.gender=='male'?'checked':''}>男
<input type="radio" name="gender" value="male" ${user.gender=='male'?'checked':''}>女


<h3>获取web开发里面的一些常见的对象el表达式里面包含了11个隐藏的对象.</h3>
<hr>
获取web开发里面的常见的一些对象:${pageContext}
<br>pageContext:用户获取页面的pageContext对象</br>
<%
pageContext.setAttribute("name","孤傲苍狼");
%>
<br>pageScope从page域中查找数据.</br>
 ${pageScope.name}
 <br>request:从request域(requestScope)中获取数据</br>
 <%
 request.setAttribute("name", "白虎圣兽");
 %>
 ${requestScope.name}
</body>
</html>

 

截图如下:

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值