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代码。

配套进阶****:

https://edu.csdn.net/combo/detail/938

 

Java中级SSH框架项目开发设计教程

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

 

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

Java****

 

相关文章:

  • 2021-09-18
  • 2022-12-23
  • 2021-05-18
  • 2021-06-25
  • 2021-11-29
  • 2022-02-23
  • 2021-08-29
猜你喜欢
  • 2022-12-23
  • 2021-07-19
  • 2021-07-15
  • 2021-12-02
  • 2021-10-14
  • 2021-05-25
  • 2022-01-05
相关资源
相似解决方案