密 码:<jsp:getProperty property=http://www.likecs.com/"password" name=http://www.likecs.com/"user1"/><br/>
EL(表达式语言) 1 EL概述 1.1 EL的作用
JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。标签的好处是非Java人员都可以使用。
JSP2.0 – 纯标签页面,即:不包含<% … %>、<%! … %>,以及<%= … %>
EL(Expression Language)是一门表达式语言,它对应<%=…%>。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出。
1.2 EL的格式格式:${…}
例如:${1 + 2}
1.3 关闭EL如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。
如果希望忽略某个EL表达式,可以在EL表达式之前添加“\”,例如:\${1 + 2}。
1.4 EL运算符运算符
说明
范例
结果
+
加
${17+5}
22
-
减
${17-5}
12
*
乘
${17*5}
85
/或div
除
${17/5}或${17 div 5}
3
%或mod
取余
${17%5}或${17 mod 5}
2
==或eq
等于
${5==5}或${5 eq 5}
true
!=或ne
不等于
${5!=5}或${5 ne 5}
false
<或lt
小于
${3<5}或${3 lt 5}
true
>或gt
大于
${3>5}或${3 gt 5}
false
<=或le
小于等于
${3<=5}或${3 le 5}
true
>=或ge
大于等于
${3>=5}或${3 ge 5}
false
&&或and
并且
${true&&false}或${true and false}
false
!或not
非
${!true}或${not true}
false
||或or
或者
${true||false}或${true or false}
true
empty
是否为空
${empty “”},可以判断字符串、数据、集合的长度是否为0,为0返回true。empty还可以与not或!一起使用。${not empty “”}
true
1.5 EL不显示null
当EL表达式的值为null时,会在页面上显示空白,即什么都不显示。
2 EL表达式格式先来了解一下EL表达式的格式!现在还不能演示它,因为需要学习了EL11个内置对象后才方便显示它。
l 操作List和数组:${list[0]}、${arr[0]};
l 操作bean的属性:${person.name}、${person[‘name’]},对应person.getName()方法;
l 操作Map的值:${map.key}、${map[‘key’]},对应map.get(key)。
3 EL内置对象EL一共11个内置对象,无需创建即可以使用。这11个内置对象中有10个是Map类型的,最后一个是pageContext对象。
l pageScope
l requestScope
l sessionScope
l applicationScope
l param;
l paramValues;
l header;
l headerValues;
l initParam;
l cookie;
l pageContext;
3.1 域相关内置对象(重点)域内置对象一共有四个:
l pageScope:${pageScope.name}等同与pageContext.getAttribute(“name”);
l requestScope:${requestScope.name}等同与request.getAttribute(“name”);
l sessionScoep: ${sessionScope.name}等同与session.getAttribute(“name”);
l applicationScope:${applicationScope.name}等同与application.getAttribute(“name”);
如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性。因为EL只做读取操作,所以JavaBean一定要提供get方法,而set方法没有要求。
Person.java
public class Person {
private String name;
private int age;
private String sex;
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;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}