java el表达式中或_JavaWeb中EL表达式

EL表达式

1,初识EL

EL表达式提供了获取对象以及属性的简单方式,在很多时候EL表达式可以代替jsp脚本,EL表达式是以${开始,以}结束的。

比如我们要取得存在某个作用域中的值,可以这么做:${company},当jsp中嵌入这句话时,会依次从page,request,session,application作用域中

查找名称为company的值,类似于如下脚本:

四中作用域不仅可以存储简单的数据类型,还可以存储类对象,通过EL直接获取所取对象的属性非常方便。

我们新建一个Student类:

public class Student {

private int toid;

private Stringstuname;

public intgetToid() {

return toid;

}

public voidsetToid(int toid) {

this.toid = toid;

}

public StringgetStuname() {

return stuname;

}

public voidsetStuname(String stuname) {

this.stuname =stuname;

}

}

这是个标准的pojo,拥有标准的getter和setter方法。

然后在jsp页面中,定义一个Student对象,并且放到request作用域里面,然后使用forward跳转到另外一个jsp

Student stu=new Student();

stu.setToid(123);

stu.setStuname("王五");

request.setAttribute("stu1",stu);

request.getRequestDispatcher("eltest1_request.jsp").forward(request,response);

%>

在eltest1_request.jsp中通过EL来获取这个对象的属性:

toid:${stu1.toid}

stuname:${stu1.stuname}

2,EL内置对象

EL中也包含一些内置对象,也可以理解为EL内的关键字。

之前我们说过,EL中的属性会根据page,request,session,application这些作用域依次去找,这种方式虽然方便,但是在实际工作中有

几个缺点:当页面非常多的时候,连自己都不知道属性到底放在哪个作用域,这会给以后修改程序逻辑带来隐患;

每次从这些作用域依次去找会耗费一些性能。

所以,我们可以通过pageScope,requestScope,sessionScope,applicationScope这些内置对象来获取具体作用域中的变量属性。

比如上面的eltest1_request.jsp页面,我们可以修改为:

toid:${requestScope.stu1.toid}

stuname:${requestScope.stu1.stuname}

3,EL表达式运算

EL表达式支持简单的运算,比如加(+)减(-),乘(*),除(/),取模(%)等

${15*4+9}

里面的数据也可以换成作用域中的变量属性

EL表达式也支持比较运算,计算后的结果为布尔值,即true或者false,比如大于(>),小于(=),小于等于(<=)不等于(!=)

${2<4}

${i==15}

也可以使用逻辑运算符,比如:${i==15 && j==19 }

4,直接通过EL表达式来接受参数

${param.myname}或者${param['myname']}

这样就可以接收到从另外一个页面通过form表单提交的数据或者超级链接问号传递的参数数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值