JSP中EL表达式的使用
在JSP中使用表达式语言(Expression Language, EL)可以方便的获取page(pageContext)、request、session、application这四种范围的属性,避免代码中出现过多的Scriptlet代码,使得开发更加简洁方便。
操作方法
- 01
使用表达式语言可以方便的访问对象中的属性、提交的参数以及进行各种数学运算。使用表达式语言,如果输入的内容为空,则会自动使用空字符串””代替。表达式语言的使用方法为${属性名称},下面我们使用表达式语言来获取4中范围的属性值,如下图所示。
- 02
使用表达式语言可以输出4种属性范围的内容,若在不同的属性范围中设置了相同的属性名称,则会按照page-->request-->session-->application的顺序查找,如下图所示。
- 03
当然我们也可以指定一个要输出的属性范围,我们使用${pageScope.属性}、${requestScope.属性}、${sessionScope.属性}、${applicationScope.属性}来指定需要输出的属性范围,如下图所示。
- 04
我们可以使用EL表达式调用JSP的内置对象pageContext、request、session、application来使内置对象中提供的方法,这些方法的调用都是通过反射机制完成的,我们使用${param.参数名}来获取传参,代码如下图所示。
- 05
下面我们介绍如何使用EL表达式来获取一组参数,例如我们在表单中定义一个复选框,我们使用${paramValues.name[i]}的方式,根据下标获取复选框中的内容,代码如下图所示。
- 06
接下来我们使用EL表达式来获取List集合和Map集合中的值,我们使用下标的方式来获取list集合的值,我们使用["key"]的方式来获取Map集合的值,代码如下图所示。
- 07
最后我们自定义一个类,使用EL表达式来获取该类中的属性。我们创建一个类的对象并赋值,使用${对象名.属性名}的方法来获取属性值,代码如下图所示。