Java自学之路-Java中级教程-21:SpringMVC与EL表达式

Jsp页面中可以使用Java代码来输出结果,还可以使用EL表达式来输出结果。比如输出一个Controller中的变量值,在Controller中使用request.setAttribute("id","1");可以向Jsp页面传值,在Jsp页面中可以使用request.getAttritute("id");来取出这个变量值展示在jsp页面中。


如果使用EL表达式,可以像操作HTML标签一样来实现Java代码。比如${id}这样就可以拿到request中的id的attribute值,功能和request.getAttritute("id")是一样的EL即是Expression Language,表达式语言,它是JSP页面中一种简化的语法。


在之前的index.jsp例子中,有<%=((Person)(request.getSession().getAttribute("person"))).getName() %>这样的代码。如果使用EL表达式,可以换成为${person.name },同样可以输出person的name属性值。也就是说,EL表达式使用点号.来取出变量的属性。


EL表达式还有一些运算符,如加减乘除等算术运算符,还有逻辑运算符、关系运算符。

算术型
+、-(二元)、*、/、div、%、mod、-(一元)
逻辑型
and、&&、or、||、!、not
关系型
==、eq、!=、ne、<、lt、>、gt、<=、le、>=、ge。可以与其他值进行比较,或与布尔型、字符串型、整型或浮点型文字进行比较。
empty 空操作符是前缀操作,可用于确定值是否为空。
条件型
A ?B :C。根据 A 赋值的结果来赋值 B 或 C。


比如${person.name eq 'ch'}可以输出关系运算结果,person的name属性值是否等于'ch'。


又如,${person.id ==1 and person.name eq 'ch'},可以输出逻辑运算结果,and为两个关系运算表达式的逻辑运算结果。


如果要判断对象是否为空,可以使用emtpy。比如${empty person}就可以输出person对象是否为空。这里的对象即可以是存在request的attribute中,也可以存在session中。


可以看出,EL表达式使用$符号和大括号{}来进行变量和运算的输出。其实和Java代码的变量和运算是一样的,只是简化了写法,这样Jsp中可以省去很多Java代码。


Java视频教程


猜你喜欢

转载自blog.csdn.net/weixin_41239710/article/details/80697608
今日推荐