JSTL常用标签库介绍

来源:互联网 发布:同济大学软件学院 编辑:程序博客网 时间:2024/05/16 14:16
最近在开发中经常使用JSTL标签,感觉还是蛮好用的,这里介绍几个比较常用的JSTL标签,供大家参考,也是对自己知识的复习与回顾吧!

第一个就是流程控制标签里面的if,用的是非常多。具体写法:

<c:if test="条件">执行语句</c:if>
比如条件1成立,就显示一个按钮,条件2成立就显示一个超链接:

<c:if test="条件1"> <input id="submit_btn" class="btn btn-primary" type="submit" value="提交"/></c:if> <c:if test="条件2"><a href="http://www.baidu.com" target="_blank">百度一下</a></c:if> 
如果要进行逻辑判断的话,使用and和or,这个和java里面的&&和||不同,开始我也以为是java这样的,后来才知道不是。
那如果有多条件的话能不能像java里面的if elseif else这样判断呢?答案当然是ok的:

使用<c:choose></c:choose>里面在套<c:when test=" "></c:when>进行多个语句的判断即可

<c:choose>    <c:when test="${score>=90}">    你的成绩为优秀!    </c:when>    <c:when test="${score>=70 and score<90}">    您的成绩为良好!    </c:when>    <c:when test="${score>60 and score<70}">    您的成绩为及格    </c:when>    <c:otherwise>    对不起,您没有通过考试!    </c:otherwise></c:choose>
流程控制标签讲完了,在说循环标签,这里讲一个forEach

 这里allProducts是一个产品的集合,里面包含很多个product,循环出里面的每一个元素,放到checkbox里面去,实现多选框效果
<c:forEach var="product" items="${allProducts}">    <label class="checkbox inline">        <input type="checkbox" name="productId" value="${product.id}">${product.name}    </label></c:forEach>
<c:forEach>标签还可以加varStatus="idx",然后在里面我们可以进行判断比如${idx.index>0}或者${idx.index++}
获取一个list集合的长度,可以使用fn函数

要导入标签:<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>

${fn:length(product.selllingPoints)} 





1 0