JavaWeb基础知识总结. (22)

密 码:<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;

}

}

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwzfdw.html