<c:if>标签
在程序开发中,经常需要使用if语句进行条件判断,如果要在jsp页面中进行条件判断,就需要使用Core标签提供的<c:if>标签。
语法格式如下:
语法1:没有标签体的的情况
<c:if test="testCondeition" var="result">
[scope="{page|request|session|application}"]/>
语法2:有标签体的情况,在标签体中指定要输出的内容
<c:if test="testCondition" var="result">
[scope="{page|request|session|application}"]>
body content
</c:if>
<c:choose>标签
<c:choose>标签没有属性,在它的标签体中只能嵌套一个或多个<c:when>标签和零个或一个<c:otherwise>标签,并且同一个<c:shoose>标签中所有的<c:when>子标签必须出现在<c:otherwise>子标签之前.格式如下:
<c:choose>
Body content(<when> and <otherwise> wubtags)
</c:choose>
<c:when>标签只有一个test属性,该属性的值为布尔类型。
<c:when test="testCondition">
Body content
</c:when>
<c:otherwise>
conditional block
</c:otherwise>
接下来就是将这3个标签,一起使用学习
<c:forEach>标签
在jsp页面中,经常需要对集合对象进行循环迭代操作,为此,core标签库提供了一个<c:forEach>标签,格式如下:
语法1:迭代包含多个对象的集合
<c:forEach [var="varName" items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
body content
</c:forEach>
语法2:迭代指定范围内的集合
<c:forEach [var="varName"] [varStatus="varStatusName"] begin="begin"> end="end" [step="step"]
body content
</c:forEach>
在上面语法格式中,可以看到<c:forEach> 标签有多个属性。接下来针对这些属性进行讲解
var:用于指定将当前迭代到的元素保存到page域中的名称
items:用于指定将要迭代的集合对象
varStatus:用于指定当前迭代状态信息的对象保存到page域中的名称
begin:用于指定从集合中第几个元素开始进行迭代,begin的的索引值从0开始。如果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止
step:指定迭代的步长,即迭代因子的增量
count:表示元素在集合中的序号,从1开始计数
index:表示当前元素在集合中的索引,从0开始计数
first:表示当前是否为集合中的第一个元素
last:表示当前是否为集合中的最后一个元素
<c:param>标签和<c:url>标签
<c:param>标签用于在URL地址中附加参数,他通常嵌套在<c:url>标签内使用。<c:param>标签有两种语法格式 如下:
语法1:使用value属性指定参数的值
<c:param name="name" value="value">
语法2:在标签体中指定参数的值
<c:param name="name">
paramter value
</c:param>
name:属性用于指定参数的名称
value:属性用于指定参数的值,当使用<c:param>标签为一个URL地址附加参数时,它会自动对参数值进行URL编码。
语法1:没有标签实体的情况
<c:url value="value" [context="tontext" [var="varName"] [scope="{page|request|session|application}"]]>
语法2:有标签实体的情况,在标签体中指定构造URL参数
<c:url value="value" [context="context"] [var="varName"] [scope="{page|request|session|application}"]>
<c:param>标签
</c:url>