近期在开发中经常使用JSTL标签,感觉还是蛮好用的,这里介绍几个比較经常使用的JSTL标签,供大家參考,也是对自己知识的复习与回想吧!

第一个就是流程控制标签里面的if。用的是许多。

详细写法:

<c:if test="条件">运行语句</c:if>

比方条件1成立,就显示一个button,条件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)}