获取数据:<%=name%>获取浸染域数据:<%=request.getAttribute("username")%>
上面的代码虽然可以实现功能,但是想一下,如果我们全体项目中都是采取上面办法,这样会导致项目代码非常冗余,并且可读性不强,假设有100个地方要从request工具中获取数据,那么就要编写100次<%=request.getAttribute("username")%>的代码,你会创造,这100次里面只有参数名称是不同的,其他的代码都是相同的。
为理解决这个问题,并且能够让代码更加的优雅一点,于是JSP就供应了EL表达式语法,利用EL表达式语法之后,我们只须要编写下面这种代码就可以:
// 利用EL表达式语法获取数据:${name}获取浸染域数据:${requestScope.username}
从上面代码可以看出,比较于之前的JSP代码,利用EL表达式语法之后,整体的代码量减少了好多,并且代码的可读性也变得更加优雅了,这便是利用EL表达式给我们带来的好处。
1.2、EL表达式的用法
EL表达式的根本语法规则是:利用${}的格式,在两个花括号{}之间,编写详细的表达式内容,把稳啦:EL表达式中只能够编写表达式,不能编写完全的语句,也便是说,EL表达式里面的东西终极是须要返回一个详细的值,可以是数值,字符串,布尔类型等等,但是一定不会是代码段、完全的语句内容。
(1)根本语法格式EL表达式语法规则${这里写详细的表达式内容}举例如下:${1+1} // 输出1+1的结果${obj.name} // 获取obj工具中的name属性值${arr[2]} // 获取数组下标2的内容${"hello" + "world"} // 获取字符拼接之后的结果
(2)判断是否相等
EL表达式中,可以利用【==】 或者是【eq】来判断两个变量是否相等。语法格式如下所示:
${a == b} // 判断变量a的值是否和变量b的值相等${a eq b}
(3)判断是否为空
EL表达式中,可以利用【empty】或者【!empty】来判断变量是否为空、非空。变量可以是字符串、基本类型变量、凑集、数组等。语法格式如下所示:
${empty varName} // 判断变量 varName 是否为空,空则返回true${!empty varName} // 判断变量 varName 是否非空,非空则返回true
以上,便是EL表达式语法,后续在Servlet和JSP的项目开拓中,会频繁的利用到EL表达式语法,并且在Spring框架中也有利用到EL表达式语法。
本日就到这里,未完待续~~