一、外围因素
1、添加JSTL支持:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
需要jstl和standard jar包的支持。
2、项目中常用语句:
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<c:set var="pic" value="<%=com.jf.constant.ImagePath.VISIT_PATH%>"></c:set>
<script type="text/javascript">
var JSCTX = '${ctx}';
var JSPIC = '${pic}';
</script>
3、常用标签: <c:choose>、<c:forEach>、<c:forTokens>、<c:if>、<c:import>、<c:otherwise>、<c:out>、<c:param>、<c:redirect>、<c:remove>、<c:url>、<c:when>、<c:set>、<c:catch>
二、常规使用
1、<c:if的使用
<c:if test="${empty userlist }">
暂无数据
</c:if>
<c:forEach var="data" items="${page.dataList}" varStatus="status">
<c:if test="${data.status == '-1'}">
已取消
</c:if>
</c:forEach>
2、<c:choose>的使用
<c:choose>
<c:when test="${内容}">
第一
</c:when>
<c:when test="${内容}">
第二
</c:when>
<c:otherwise>
第三
</c:otherwise>
</c:choose>
3、<c:forEach的使用
(1)语法定义如下:
<c:forEach var="name" items="expression" varStatus="name" begin="expression" end="expression" step="expression">
内容
</c:forEach>
var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。
items:要进行迭代的集合。
varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。
begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。
end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。
step:迭代的步长。
(2)varStatus的重点介绍
varStatus属性可以方便我们实现一些与行数相关的功能,如:奇数行、偶数行差异;最后一行特殊处理等等。
${status.index}:输出行号,从0开始。
${status.count}:输出行号,从1开始。
${status.current}:当前这次迭代的(集合中的)项
${status.first}:判断当前项是否为集合中的第一项,返回值为true或false
${status.last}:判断当前项是否为集合中的最后一项,返回值为true或false
begin、end、step分别表示:起始序号,结束序号,跳跃步伐。
备注:参考http://www.cnblogs.com/youngjoy/p/3642359.html
三、必要名词解释
1、JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库。
2、EL表达式:E L(Expression Language)。
语法结构:${expression}
<%=request.getAttribute("userlist") %> 等价于$ { requestScope.userlist }
<%=user.getAddr( ) %> 等价于${user.addr}