关闭

EL表达式的使用

225人阅读 评论(0) 收藏 举报
分类:

EL表达式的使用


(1)什么是el表达式

        是一套简单的运算规则,用于给jsp标签的属性赋值,也可以直接输出。

(2)el表达式的使用 

    1)访问bean的属性

        a.方式一   day10_2.e3.jsp                   

            ${user.name} :

              容器会依次从pageContext,request,session,application中查找(getAttribute)绑订名称为"user"的对象,找到该对象之后,会调用该对象的"getName"方法,最后输出。          

              注:
                a1. 会将null转换成""输出。

                a2.找不到该对象,不报空指针异常,会输出""。

                a3.可以使用pageScope,requestScope,sessionScope,application来指定查找范围。

    day10_2.e3.jsp 代码:

<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
<%@page import="bean.*" %>
<html>
	<head></head>
	<body>
		<%
			User user = new User();
			user.setName("zs");
			user.setAge(22);
			request.setAttribute("user",user);
			
			User user1 = new User();
			user1.setName("wangwu");
			user1.setAge(24);
			session.setAttribute("user",user1);
		%>
		name:
		<%
			//User user1 = (User)request.getAttribute("user");
			//out.println(user1.getName());
		%><br>
		姓名:${user.name}<br>
		session上的 姓名:${sessionScope.user.name }
	</body>
</html>

bean.User.java代码:

package bean;

public class User {
	private String name;
	private int age;
	private String[] interest;
	public String[] getInterest() {
		return interest;
	}
	public void setInterest(String[] interest) {
		this.interest = interest;
	}
	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;
	}
}


        b.方式二   day10_2.e4.jsp

            ${user["name"]} / ${user['name']}
              注:

                b1.[]里面可以出现绑订名(变量)。

                b2.[]里面可以出现从0开始的下标,用于访问数组中的某个元素。${user.interest[1] }(interest为数组)

      day10_2.e4.jsp 代码:

<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
<%@page import="bean.*" %>
<html>
	<head></head>
	<body>
		<%
			User user = new User();
			user.setName("zhangs");
			user.setAge(22);
			user.setInterest(new String[]{"台球","足球","篮球"});
			request.setAttribute("user",user);
			
			User user1 = new User();
			user1.setName("wangw");
			user1.setAge(24);
			session.setAttribute("user",user1);
		%>
		name:${user["name"] }<br/>
		<%
			request.setAttribute("propname","age");
		%>
		<!-- []里面可以出现绑订名(变量) -->
		年龄:${user[propname] }<br/>
		<!-- []里面可以出现从0开始的下标,用于访问数组中的某个元素 -->
		兴趣爱好:${user.interest[1] }<br/>
	</body>
</html>


    2)进行一些简单的运算

       运算的结果可以给jsp标签的属性赋值,也可以直接输出(e5.jsp)。

        a.算术运算  +,-,*,/,%

            注:  +号只能求和(不能连接字符串)。

        b.关系运算  >,>=,<,<=,==,!=

        c.逻辑运算 && || !

        d.empty运算   

            判断集合是否为空或者是否是一个空字符串。是,返回true。

            以下四种情况都是true,其他都是false:

            d1,空字符串

            d2,空的集合(集合中没有任何元素)

            d3,null

            d4,找不到值

     e5.jsp代码示例:

<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
<%@page import="java.util.*" %>
<html>
	<head></head>
	<body>
		<!-- 算术运算  +,-,*,/,% -->
		<!-- +号只能求和(不能连接字符串) -->
		1+2=${1+2 }<br/>
		100+200=${"100"+"200" }<br/>
		
		<!-- 关系运算  >,>=,<,<=,==,!= -->
		<!-- 结果都是true/false -->
		1>0?${1>0 }<br/>
		<%
			request.setAttribute("str1","abc");
			request.setAttribute("str2","abcd");
		%>
		${str1 == str2 }<br/>
		${str1 == "abc"}<br/>
		${sessionScope.str1 == "abc" }<br/>
		
		<!-- 逻辑运算 && || !  -->
		
		<!-- empty运算  结果为true/false-->
		<!-- 判断集合是否为空或者是否是一个空字符串;是,返回true -->
		<%
			request.setAttribute("str3","");
		%>
		空字符串:${empty str3 }<br/>
		<%
			List list = new ArrayList();
			//list.add("");
			request.setAttribute("list",list);
		%>
		空的集合:${empty list }<br/>
		<%
		request.setAttribute("obj",null);
		%>
		值为null:${empty obj}<br/>
		找不到值:${empty sss }<br/>
	</body>
</html>


    3)读取请求参数值 (e6.jsp)

        a. ${param.username}    等价于request.getParameter("username");

        b.${paramValues.city}    等价于request.getParamterValues("city");


     e6.jsp示例代码:

<%@page pageEncoding="utf-8" contentType="text/html; charset=utf-8" %>
<html>
	<head></head>
	<body>
		username:${param.username }<br/>
		interest:${paramValues.i [1] }<br/>
	</body>
</html>







       
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

JSP中使用EL表达式

添加EL表达式         EL可以直接用在JSP的任何位置,除了少数例外情况。首先,EL表达式不能用在任何指令中,不要尝试这么做。在编译JSP时,指令(、和)将会被执行,但EL表达式是在稍后渲染JSP时执行,所以在其中添加EL表达式是无法正常工作的。另外...
  • ch717828
  • ch717828
  • 2015-09-18 18:04
  • 1847

Spring中加载 .properties 文件在java注解中使用及xml的el表达式使用

1、spring中xml文件加入 bean:a、java中注解使用:<!-- <bean>中id和name属性 --> <bean name="setting" class="org.springframework.beans.factor...
  • yhj19920417
  • yhj19920417
  • 2017-07-20 10:30
  • 509

Html5+CSS3+EL表达式问题集锦

最近一直做关于装修的一个项目,后台功能实现很快,但是前台界面展示确实遇到不少的问题。   问题1、下拉框选择不管用,选中之后没有变。如图 当我选择其他的选项时,不发生任何变化。虽然不是大问题,但是也得找办法解决啊。 解决办法,加上如下代码,解决。 问题2、...
  • u010785685
  • u010785685
  • 2016-03-31 15:26
  • 3489

js文件中使用el表达式问题

单独js文件不能用el表达式。 首先,JSP是由服务端执行的,EL表达式自然也由服务端解析执行,因此如果EL所在的脚本在JSP页面内,它是可以获取到值的,这个值在服务器端返回到浏览器端时已经解析完毕,浏览器端只是呈现而已,但是如果在单独的JS文件中写EL,会怎么样呢?这个时候是无法获取的,因为ja...
  • u014079773
  • u014079773
  • 2016-08-29 16:11
  • 3300

使用EL表达式需要注意的

1、表达式与java无关,表达式都是以${开始,以}结束。 2、EL访问java变量不能直接访问,因为得不到数据,要访问数据,需要将其放到作用域中。例如访问String str=”abc”,我们不能通过${str}直接访问,因为获取不到,我们可以这样访问: pageContext.setAttrib...
  • wuruiaoxue
  • wuruiaoxue
  • 2016-02-16 21:16
  • 2455

spring-mvc解决EL表达式不能使用问题

刚开始学习spring mvc时经常会遇到 的一个问题就是在Controller
  • supersunshine
  • supersunshine
  • 2014-06-23 17:21
  • 2750

EL表达式及其定义和使用

简介 EL(Expression Language)表达式语言实在JSP2.0版本中引入的新特性,它用于JSP文件中的数据访问。这种表达式语言能简化JSP文件中数据访问的代码,可用来代替传统的基于””形式的Java表达式,以及部分基于“”形式的Java程序片段。 例如:   &...
  • Goskalrie
  • Goskalrie
  • 2016-05-04 16:34
  • 9221

EL表达式常见用法详解

1.EL表达式的简介 EL表达式是一种JSP技术,能够代替JSP中原本要用Java语言进行显示的语句,使得代码更容易编写与维护。最基本的语法是${express}。 2.获取并显示数据 1)从四个域中通过key找到简单数据并显示出来。表达式代码:${name} -->四个域的...
  • L_BestCoder
  • L_BestCoder
  • 2017-02-02 17:33
  • 1157

Spring 在 xml配置文件或annotation注解中运用Spring EL

Spring  EL 一:在Spring xml 配置文件中运用   Spring EL Spring EL 采用 #{Sp Expression  Language} 即 #{spring表达式} 1:运用EL表达式的配置文件如下:
  • zhengbo0
  • zhengbo0
  • 2014-08-20 16:47
  • 1663

EL表达式详细教程

EL表达式(Expression Language),主要功能是用来获取数据并显示,也可做算术和逻辑运算,与传统的JSP标签相比,使用起来,更加方便,代码更加简洁,极力推荐使用,本文将逐一介绍EL表达式的各个功能,以及自定义EL表达式。
  • xiaoed
  • xiaoed
  • 2015-02-05 12:29
  • 1400
    个人资料
    • 访问:262254次
    • 积分:5867
    • 等级:
    • 排名:第5105名
    • 原创:351篇
    • 转载:36篇
    • 译文:0篇
    • 评论:23条
    文章分类