淘先锋技术网

首页 1 2 3 4 5 6 7

1)简介

    step1,导入standard.jar jstl.jar    

    step2,使用taglib指令导入要使用的jsp标签。
                <%@taglib uri="" prefix=""%>
                uri:jsp标签的命名空间(就是一个字符串,只要做到唯一即可,不和其他标签重名, 所以一般使用公司的域名)
                prefix: 命名空间的前缀

                eg: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

2)核心标签

            a,if标签  jstl1.jsp
                <c:if test="" var="" scope="">
                    标签体
                </c:if>
                当test属性值为true,容器会执行标签体的内容。test属性可以使用el表达式赋值。
                var属性:指定一个绑订名称,test表达式的结果为绑定值。

                scope属性:指定绑订的范围(pageContext,request,session,application)。从小到大的范围。

		<c:if test="${user.gender =='m'}" var="rs" scope="request">男</c:if>
		<c:if test="${!rs}">女</c:if>

            b,choose标签
                <c:choose>
                    <c:when test=""></c:when>
                    ...
                    <c:otherwise></c:otherwise>
                </c:choose>

                when表示一个处理分支,当test属性为true,会执行该分支。otherwise表示例外。when可以出现1次或者多次。otherwise可以出现0次或者1次。

<c:choose>
	<c:when test="${user.gender == 'm'}">男</c:when>
	<c:when test="${user.gender =='f'}">女</c:when>
	<c:otherwise>未知</c:otherwise>
</c:choose>

            c,forEach标签  用来遍历一个集合或者数组
                <c:forEach var="" items="" varStatus="">
                </c:forEach>
                items属性:用来指定要遍历的集合,一般使用el表达式来赋值。
                var属性:指定一个绑订名称,容器每次从集合当中取一个对象,然后绑订到pageContext对象上。
                varStatus:指定一个绑订名称,绑订值是一个由容器创建的对象,该对象封装了当前迭代的状态:
                        getIndex():返回正在被迭代的对象的下标,下标从0开始。
                        getCount():返回是第几次迭代。从1开始。

<c:forEach items="${users}" var="user" varStatus="s">
	<tr class="row${s.index % 2 + 1}">
		<td>${s.count}</td>
		<td>${user.name}</td>
		<td>${user.age}</td>
	</tr>
</c:forEach>

取map的值:

<c:forEach items="${map}" var = "m">
   ${m.key}---->${m.value}
</c:forEach>