访问四大域中的值
-
pageContext:页面上下文,代表当前JSP页面的上下文环境,可以访问JSP页面的属性和方法。 例如:${pageContext.request.contextPath},表示获取当前Web应用的上下文根路径。
-
request:请求域,代表当前HTTP请求,可以访问HTTP请求中的参数和属性。 例如:${request.parameter.name},表示获取请求参数name的值。
-
session:会话域,代表当前HTTP会话,可以存储和访问与用户相关的信息。 例如:${session.attribute.name},表示获取会话属性name的值。
-
application:应用程序域,代表整个Web应用程序的生命周期,可以访问全局的属性和方法。 例如:${application.attribute.name},表示获取应用程序属性name的值。
访问对象的属性
在EL表达式中,可以通过“对象.属性名”的方式来访问JavaBean对象的属性。例如:${person.name},表示获取名为person的JavaBean对象的name属性的值。
同时,还可以通过“对象.方法名()”的方式来调用JavaBean对象的方法。例如:${person.getName()},表示调用名为person的JavaBean对象的getName()方法返回其name属性的值。
需要注意的是,在EL表达式中访问JavaBean对象的属性,要求JavaBean对象的属性必须具有公开的get、set方法,且方法的命名规范符合JavaBean规范。例如,如果属性名为name,则get方法应该命名为getName(),set方法应该命名为setName()。
集合操作
EL表达式可以对集合(List、Set、Map等)进行操作,常用的集合操作如下:
-
访问List:可以通过下标来访问List中的元素,例如:${list[0]}表示获取List中第一个元素的值。
-
访问Set:可以使用foreach语句遍历Set中的元素,例如:
<c:forEach items="${set}" var="value"> ${value}<br/> </c:forEach>
表示遍历set集合中的每个元素,将其输出至页面上。
-
访问Map:可以通过key来访问Map中的value,例如:${map['key']}表示获取Map中key对应的value值。
-
集合运算符:EL表达式支持多种集合运算符,例如:
- empty:用于判断集合是否为空,例如:${empty list}表示判断list是否为空;
- size:用于获取集合大小,例如:${list.size()}表示获取list的大小;
- contains:用于判断集合中是否包含某个元素,例如:${list.contains('value')}表示判断list中是否包含"value"元素。