本文并未把所有的JSTL标签罗列出来,只是写下了几个相对使用量较大的标签
1、流程控制:if,choose,when,otherwise
<c:if test="(这里放一个EL表达式)">xx</c:if>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <c:if test="${!empty param.color}"> <c:choose> <c:when test="${param.color == 'red'}"> <table bgcolor="red"><tr><td> </td></tr></table> </c:when> <c:when test="${param.color == 'yellow'}"> <table bgcolor="yellow"><tr><td> </td></tr></table> </c:when> <c:when test="${param.color == 'blue'}"> <table bgcolor="blue"><tr><td> </td></tr></table> </c:when> <c:otherwise> <h2>No choice</h2> </c:otherwise> </c:choose> </c:if> <form> <input type="radio" name="color" value="red"><font color="red">red</font></input><br> <input type="radio" name="color" value="yellow"><font color="yellow">yellow</font></input><br> <input type="radio" name="color" value="blue"><font color="blue">blue</font></input><br> <input type="submit"/> </form>2、迭代:forEach
遍历集合
<c:forEach var="i" items="${collection}" varStatus="index"> ${i} ${index} <!--i为集合中单个元素,index为循环状态 --> </c:forEach>
遍历Map
<c:forEach var="m" items="${map}"> key=${m.key},value=${m.value} </c:forEach>
打印1到10
<c:forEach var="i" begin="1" end="10" step="1"> ${i} </c:forEach>
<%@page import="tarena.jstl.Student,java.util.*"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <% Collection students = new ArrayList(); students.add(new Student("001","zhangsan",23)); students.add(new Student("002","lisi",22)); students.add(new Student("003","wangwu",21)); request.setAttribute("stus", students); %> <table border="1"> <c:forEach var="stu" items="${stus}"> <tr><td>${stu.id}</td> <td>${stu.name}</td> <td>${stu.age}</td> </tr> </c:forEach> </table> <h2> <% Map stus = new HashMap(); stus.put("001", new Student("001","zhangsan",23)); stus.put("002", new Student("002","lisi",22)); stus.put("003", new Student("003","wangwu",21)); request.setAttribute("stumap", stus); %> <c:forEach var="stu" items="${stumap}"> ${stu.value.id} ${stu.value.name} ${stu.value.age}<br> </c:forEach> <hr> <c:forEach items="${stus}" varStatus="status"> ${status.count} ${status.current.name} ${status.current.age}<br> </c:forEach> <hr> <c:forEach var="i" begin="0" end="2" step="1"> No.${i} ${stus[i].id} ${stus[i].name} ${stus[i].age}<br> </c:forEach> </h2>