EL表达式
EL表达式介绍
什么是EL表达式?
EL是expression Language的缩写,它是jsp内置的一种表达式语言,从jsp2.0开始,就不让在使用java脚本,而是使用el表达式来替换jsp中java脚本。
El表达式格式 ${表达式}
使用el表达式的主要敘是代替jsp页面上的<%=%>,也就是说,el表达式主要作用是向浏览器输出数据,例如${1+2} 会浏览器输出3.
为什么使用el表达式
主要目的是为了替换jsp页面上的脚本,使用jsp更加简单,安全。
EL主要作用:
1.
获取数据(主要是域中数据)
2.
执行运算
3.
获取web常用对象
4.
调用java方法(EL函数)
El表达式使用时注意事项
EL表达式是在jsp2.0规范中的一门技术,要想使用el表达式必须使用支持jsp2.0技术的web服务器(tomcat)
Jsp2.0对应的servlet版本是servlet2.4 对应 javaEE1.4.
而我们现在使用的servlet版本是servlet2.5 javaEE5.0
如果在程序中发现el不可以使用:
1.
tomcat是否版本有问题,使用tomcat6以上
2.
在jsp页面上是否设置了isELIgnored="true"
El表达式获取数据
El表达式怎样获取域中数据
1.
page域----------------------${pageScope.name}
2.
request域----------------------${requestScope.name}
3.
session域----------------------${sessionScope.name}
4.
application域----------------------${applicationScope.name}
使用el表达式获取时,如果没有查找到结果,返回的不是null,而是一个””.
1.
获取域中简单数据
El表达式获取复杂数据
<%@page import="cn.itcast.domain.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<body>
EL获取域中复杂数据
<hr>
<%
//定义一个数组
String[] st = { "aa", "bb", "cc" };
request.setAttribute("st", st);
%>
获取request域中st数组第二个值:
<br> jsp:<%=((String[]) request.getAttribute("st"))[1]%><br>
el:${requestScope.st[1]}
<hr>
<%
//定义一个集合List
List<String> list = new ArrayList<String>();
list.add("111");