薛磊 Job Seeker

EL表达式

2019-06-03

一、EL表达式

JavaBean在JSP中的局限

获取JavaBean属性必须需要实例化

强制类型转化

<%	
	Employee emp = (Employee)request.getAttribute("emp");
	Computer comp = emp.getComputer();
	String name = comp.getName();
%>

解决办法:可以使用EL表达式简化

1.什么是EL

EL即Expression Language(表达式语言)

2.EL的功能

替代JSP页面中的复杂代码,主要替代<%= %>

3.EL的语法

${EL exprission }

${bean.name } 或 {bean[“name”] }

${bean.name }实质是调用bean的getName()方法

4.变量属性范围名称

属性范围 EL中的名称
page pageScope,${pageScope.username }
request requestScope
session sessionScope
application applicationScope

EL表达式默认是从4大作用域中,从小到大的顺序取值,若取到值了,则不会继续向下查找

获取的前提是将参数或对象添加到作用域中,pageContext、request、session、application

<%
Student stu = new Student();
stu.setAge(25);
stu.setName("李四");
pageContext.setAttribute("student",stu);
%>

获取属性:
年龄:${student.age }<br>
姓名:${student.name }<br>
[]方法一般用于集合
年龄:${student["age"] }<br>
姓名:${student{"name"} }<br>

原有写法:
年龄:<%= ((Student)pageContext.getAttribute("student")).getAge() %><br>
姓名:<%= ((Student)pageContext.getAttribute("student")).getName() %><br>
通过EL表达式,获取上个页面提交过来的参数数据:<br>
用户名:${param.userName }<br>
爱好1:${paramValues.hobbies[0] }<br>
爱好2:${paramValues.hobbies[1] }<br>

下一篇 JSP动作标签

Comments

Content