文档详情

JSP应用开发与实践 教学课件 作者 刘乃琦 王冲 第11章 JSTL核心标签库.ppt

发布:2017-08-18约2.95万字共73页下载文档
文本预览下载声明
c:otherwise标签也是c:choose标签的子标签,用于定义c:choose标签中的默认条件处理逻辑,如果没有任何一个结果满足c:when标签指定的条件,将会执行这个标签体中定义的逻辑代码。在c:choose标签范围内只能存在一个该标签的定义。c:otherwise标签的语法格式如下: c:otherwise 标签体 /c:otherwise 注意: c:otherwise标签必须定义在所有c:when标签的后面,也就是说它是c:choose标签的最后一个子标签。 11.5.4 c:otherwise其他条件标签 【例11-11】 幸运大抽奖。 编写index.jsp文件,在该文件中,首先应用taglib指令引用JSTL的核心标签库;然后抽取幸运数字并保存到变量中;最后再应用c:choose标签、c:when标签和c:otherwise标签根据幸运数字显示不同的中奖信息。index.jsp文件的具体代码如下: %@ page language=java contentType=text/html; charset=UTF-8 pageEncoding=UTF-8% %@ page import=java.util.Random % %@ taglib prefix=c uri=/jsp/jstl/core% !DOCTYPE HTML html head meta charset=utf-8 title幸运大抽奖/title /head body %Random rnd=new Random();% !-- 将抽取的幸运数字保存到变量中 -- c:set var=luck %=rnd.nextInt(10)% /c:set c:choose c:when test=${luck==6}恭喜你,中了一等奖!/c:when c:when test=${day==7} 恭喜你,中了二等奖!/c:when c:when test=${day==8}恭喜你,中了三等奖!/c:when c:otherwise谢谢您的参与!/c:otherwise /c:choose /body /html 运行本实例,当产生随机数6时,将显示如图11-24所示的中奖信息。 图11-24 运行结果 11.6 循环标签 11.6.1 c:forEach循环标签 11.6.2 c:forTokens迭代标签 c:forEach循环标签可以根据循环条件,遍历数组和集合类中的所有或部分数据。例如,在使用Hibernate技术访问数据库时,返回的都是数组、java.util.List和java.util.Map对象,它们封装了从数据库中查询出的数据,这些数据都是JSP页面需要的。如果在JSP页面中使用Java代码来循环遍历所有数据,会使页面非常混乱,不易分析和维护。使用JSTL的c:forEach标签循环显示这些数据不但可以解决JSP页面混乱的问题,而且也提高了代码的可维护性。 c:forEach标签的语法格式如下。 语法1:集合成员迭代 c:forEach items=data [var=name] [begin=start] [end=finish] [step=step] [varStatus=statusName] 标签体 /c:forEach 在该语法中,items属性是必选属性,通常使用EL指定,其他属性均为可选属性。 语法2:数字索引迭代 c:forEach begin=start end=finish [var=name] [varStatus=statusName] [step=step] 标签体 /c:forEach 11.6.1 c:forEach循环标签 在该语法中,各属性的说明如表11-4所示,在这些属性中,begin和end属性是必选的属性,其他属性均为可选属性。 表11-4 c:forEach标签的常用属性 属性 说明 items 用于指定被循环遍历的对象,多用于数组与集合类。该属性的属性值可以是数组、集合类、字符串和枚举类型,并且可以通过EL进行指定 var 用于指定循环体的变量名,该变量用于存储items指定的对象的成员 begin 用于指定循环的起始位置,如果没有指定,则从集合的第一个值开始迭代。可以使用EL end 用于指定循环的终止位置,如果没有指定,则一直迭代到集合的最后一位。可以使用EL step 用于指定循环的步长,可以使用EL varStatus 用于指定循环的状态变量,该属性还有4个状态属性,如表11-5所示 标签体 可以是JSP页面可以显示的任何元素 表11-5 状态属性 说明: 如果要在循环的过
显示全部
相似文档