前言
前面详细的说明了什么是JSP和它的一些元素,这篇给大家介绍一下的是EL表达式。
用EL表达式,能更好的使用JSP中的各种内置对象和作用域。
楼主作为大四狗马上要出去面试了,内心很紧张!!!
一、EL表达式
EL 全名为Expression Language。JSP中可以使用EL表达式,EL表达式是用"${}"括起来的脚本,用来更方便地读取对象,EL表达式写在JSP的HTML代码中,而不能写在""引起的JSP脚本中
EL表达式的功能:
获取数据
EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
执行运算
利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
获取web开发常用对象
EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
调用Java方法
EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。
1.1、获取数据
使用EL表达式获取数据语法:"${标识符}"
EL表达式语句在执行时,会调用pageContext.findAttribute方法,用标识符为关键字,分别从page、request、session、application四个域中查找相应的对象,找到则返回相应对象,找不到则返回”” (注意,不是null,而是空字符串)。
EL表达式可以很轻松获取JavaBean的属性,或获取数组、Collection、Map类型集合的数据。
举例一:
使用el表达式获取数据:${faker}
b.setName("Java核心基础");
request.setAttribute("book", b);%>使用el表达式获取bean属性:${book.name}
b1.setName("詹姆斯");
Book b2= newBook();
b2.setName("韦德");
List list = new ArrayList();
list.add(b1);
list.add(b2);
request.setAttribute("list", list);%>
${list[1].name}
${book.name}
map = new LinkedHashMap();
map.put("faker", "mid");
map.put("bang", "adc");
map.put("wolf","sup");
map.put("huni","top");
request.setAttribute("map", map);%>
${map.faker}
${map["huni"]}
${skt.key}=${skt.value}
eltest.jsp
访问:http://localhost:8080/Web_Js