jstl
JSP标准标签库(JSP Standard Tag Library -JSTL)
在使用前必须先在jsp声明 (要导jar包)
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
标签
url 跳转
<a href="<c:url value='shopping.jsp?prodId=001' /> " > go shopping1</a> <br> <a href="<c:url value='shopping.jsp?prodId=${prodCode }' /> " > go shopping2</a> <br> = <a href="shopping.jsp?prodId=001"</a>
forEach 遍历
var=临时变量名 items=”EL表达式 ” 集合 varStatus=”Status”循环时来记录变量的状态
session.setAttribute("users", users); (users为user对象的集合) <c:forEach var="user" items="${users }" varStatus="Status" > ${Status.index }|${Status.count }|${user.firstName } </c:forEach>
forTokens 分割
delims=” ” 表示以空格分割 , delims=”@.” 表示@和.都为分割标志
session.setAttribute("users", "123 456 789"); <c:forTokens var="str" items="${strs }" delims=" "> ${str } </c:forTokens>
if
没有else{} test=”“里返回的是boolean,为true则输出标签体的内容
<c:if test="${count == 1 }">count = 1</c:if>
choose
可以用otherwise来代替else
<c:choose> <c:when test="${count == 0 }">count = 0</c:when> <c:when test="${count == 2 }">count = 2</c:when> <c:otherwise>count != 0,2</c:otherwise> </c:choose> <br>
out 输出、显示
跟直接写EL表达式差不多,只是当el表达式为null时他可以显示标签体的值
<c:out value="${object }">object = null</c:out>
import
类似于jsp:include,动态包含
<c:import url="/footer.jsp"></c:import> <jsp:include page="/footer.jsp"></jsp:include> <%--静态包含--%> <%@include file="/footer.jsp" %>