码迷,mamicode.com
首页 > Web开发 > 详细

JSP之EL表达式

时间:2018-10-04 23:54:43      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:也会   集合   param   center   htm   使用   his   order   red   

*******概述

JSP2.0要把html和css分离、要把html和javascript分离、要把Java脚本替换成标签。标签的好处是非Java人员都可以使用

JSP2.0 – 纯标签页面,即:不包含<% … %>、<%! … %>,以及<%= … %>

EL(Expression Language)是一门表达式语言,它对应<%=…%>。我们知道在JSP中,表达式会被输出,所以EL表达式也会被输出

*******EL的格式

格式:${…}

例如:${1 + 2

*******关闭EL

如果希望整个JSP忽略EL表达式,需要在page指令中指定isELIgnored=”true”。

如果希望忽略某个EL表达式,可以在EL表达式之前添加“\”,例如:\${1 + 2}。

*******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返回trueempty还可以与not!一起使用。${not empty “”}

true

 

******注意:EL不显示null,当EL表达式的值为null时,会在页面上显示空白,即什么也不显示

******EL表达式格式

先来了解一下EL表达式的格式!现在还不能演示它,因为需要学习了EL11个内置对象后才方便显示它,下面会说

操作List和数组:${list[0]}、${arr[0]};

操作bean的属性:${person.name}、${person[‘name’]},对应person.getName()方法

操作Map的值:${map.key}、${map[‘key’]},对应map.get(key)

 

******EL内置对象,前4个是域相关内置对象,一共有11个

pageScope                   ${pageScope.name}等同与pageContext.getAttribute(“name”)

requestScope               ${requestScope.name}等同与request.getAttribute(“name”)

sessionScope               ${sessionScope.name}等同与session.getAttribute(“name”)

applicationScope         ${applicationScope.name}等同与application.getAttribute(“name”)

如果在域中保存的是JavaBean对象,那么可以使用EL来访问JavaBean属性,

因为EL只做读取操作,所以JavaBean一定要提供get方法,而set方法没有要求,代码如下,下面是一个person类

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;
    }
}

在JSP中写

<body>
<%pageContext.setAttribute("p1", new person("Linda",18,"female")); %> ${pageScope.p1.name } ${pageScope.p1.age } ${pageScope.p1.sex }
//这是注释:全域查找:${person}表示依次在pageScope、requesScopet、sessionScope、appliationScope四个域中查找名字为person的属性
</body>

在页面上可以得到结果为

Linda
23
female

 

 

param

paramValues

header

headerValues

Cookie

initParam

pageContext

 

JSP之EL表达式

标签:也会   集合   param   center   htm   使用   his   order   red   

原文地址:https://www.cnblogs.com/QianYue111/p/9743461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!