${user.name}
方式二:
${对象名["属性名"]}
.方括号中的属性名可以使用单引号或双引号.
.此种方式允许[]中出现绑定名,还可以允许[]中出现从0开始的下标,
用于访问数组中的某个元素的值
例如:示例一
String[] str = {"1","2"};
request.setAttribute("user",str);
//
在jsp页面以如下方式取出.
inter[0]
示例二:
request.setAttribute("user",user);
${user["name"]}
示例三:
request.setAttribute("userAge","age");
年龄:${user[userAge]} 等同于${user["age"]}
可以在reques对象中绑定一个属性名称,然后在el表达式中通过这个绑定名来获取到属性
名称,从而间接访问对象属性
指定对象的查找范围.
在编写EL表达式时,可以指定查找对应绑定名对象的范围.
如:在Session中查找绑定名为user的对象时,可编写如下代码:
${sessionScope.user.name}
pageScope
requestScope
applicationScope
ps:一旦指定了查找范围,那么在该范围内没有找到绑定对象时,不会再去其他区域中查找
使用EL表达式进行运算
.EL表达式可以做一些简单的运算,可将结果直接输出或给JSP标签的属性赋值
-算数运算: + - * / % ps:这里+只能求和,不能连接字符串.
-逻辑运算 && || !
-关系运算: > < >= <= == !=
-empty:用来判断一个字符串是否为空,或者是一个集合是否为空
以下四种情况为true:
空字符串
空的集合
值为null
找不到对应的值
使用EL表达式获取请求参数值
request.getParamether("name");
等价于
${param.name}
request.getParametherValues("city");
等价于
${paramValues.city}
什么是JSTL
JSTL:(JSP Standard Tag Library)JSP标签库.是JAVAEE5.5核心.
如何使用JSTL
1.将JSTL标签对应的jar文件拷贝到WEB-INF/lib目录下.
2.使用taglib指令导入要使用的JSP标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
uri:jsp标签的命名空间
prifix:命名空间的前缀
核心标签: if标签
.语法:
.当test属性为true时,执行标签体的内容,test属性可以使用EL表达式赋值
.var 属性:记录test结果的临时变量
.scope 属性:指定绑定的范围(pageContext,request,application)
ps:var和scope要配合使用
核心标签-choose标签
语法:
.when表示一个处理分支,当test属性为true时会执行该分支,可以出现1次或多次
.当没有符合when时,则执行otherwise,可以出现0次或1次
核心标签-forEach标签
.用来遍历集合或数组
.语法:
.items:指定要遍历的集合,一般使用EL表达式来赋值.
.var属性:指定一个绑定名称,
.varStatus属性:指定一个绑定名称,绑定的值是一个由容器创建的对象,该对象
封装了当前的迭代的状态
varStatus属性:
index返回正在被迭代的对象的下标,下标从0开始
count返回是第几个迭代,从1开始