JSP之EL表达式二

${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标签
.语法:
<c:if test="" var="" scope="">
    
</c:if>    
.当test属性为true时,执行标签体的内容,test属性可以使用EL表达式赋值
.var 属性:记录test结果的临时变量
.scope 属性:指定绑定的范围(pageContext,request,application)
ps:var和scope要配合使用

核心标签-choose标签
语法:
<c:choose>
    <c:when test=""></c:when>
    <c:when test=""></c:when>
    <c:otherwise></c:otherwise>
</c:choose>

.when表示一个处理分支,当test属性为true时会执行该分支,可以出现1次或多次
.当没有符合when时,则执行otherwise,可以出现0次或1次

核心标签-forEach标签
.用来遍历集合或数组
.语法:
<c:forEach var="" items="">

</c:forEach>
.items:指定要遍历的集合,一般使用EL表达式来赋值.
.var属性:指定一个绑定名称,
.varStatus属性:指定一个绑定名称,绑定的值是一个由容器创建的对象,该对象
封装了当前的迭代的状态

varStatus属性:
index返回正在被迭代的对象的下标,下标从0开始
count返回是第几个迭代,从1开始

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值