jsp中EL表达式的使用
由于EL表达式只能从域对象中获取值,所以说想获取的值需要在Controller将其放到pageContext、request、session、application其中的一个域对象之中,要不然就获取不到
常用eg:request.setAttribute("info1", "request--info");
session.setAttribute("info2", "session--info");
关于EL表达式的使用目的可归为三点:
1、用于运算:
常用运算符有:
算术运算符:+、-、*、/(div)、%(mod)
比较运算符:>、<、>=、<=、==、!=
逻辑运算符:&&(and)、||(or)、|(not)
空运算符:empty(用于判断字符串、集合、数组对象是否为null,长度是否为0)
eg:${empty listInfo}
2、用于获取值:
语法:
1、${域名称.键名}:从指定域对象中获取指定键的值
*域名称有:
1)pageScope
2)requestScope
3)sessionScope
4)applicationScope
不难看出他们所对应的域对象分别是pageContext、request、session、application
取值eg:${requestScope.info1}
2、${键名}:省略域名称的取值是根据键名从最小到最大的域中查找该键所对应的值,直到找到为止
(顺序:上面域名称的 1)-->2)-->3)-->4)依次查找)
3、获取对象、List集合、Map集合的值
对象:${域名称.键名.属性名}或${键名.属性名}
eg:${requestScope.user.name}、${user.name}
List集合:${域名称.键名[索引值]}或${键名[索引值]}
eg:${requestScope.listInfo[1]}、${listInfo[1]}
Map集合:${域名称.键名.key名}或${键名.key名}
${域名称.键名["key名"]}或${键名["key名"]}也是可以的
eg:${requestScope.mapInfo.name}

442

被折叠的 条评论
为什么被折叠?



