JSTL(JSP标准标签库)常用标签用法 (流程控制:if,choose,when,otherwise; 迭代:forEach)

本文并未把所有的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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr></table>
       </c:when>
       <c:when test="${param.color == 'yellow'}">
           <table bgcolor="yellow"><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td></tr></table>
       </c:when>
       <c:when test="${param.color == 'blue'}">
           <table bgcolor="blue"><tr><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值