1、 <c:if>标簽的使用
标簽跟我們java中的if類似 ,隻是表現方法不一樣而已 。結構如下 :test 代表判斷表達式var的結果是true還是false ,結果存于result中
注意的一點是 我們在jstl中要引用屬性的時候 都要将屬性名字放到"${}"中 。
<c:if test="${var}" var="result" scope="範圍"/> 不帶body的
<c:if test="${var}" var="result" scope="範圍">
..........内部可以使jstl标簽 也可以是html 也可以是文本 ,如果test=true那麼 就會輸出這一部分
</body>
在jsp中的使用如下:
<c:if test="${3>4}" var="result">
3>4 <br>
</c:if>
<c:out value="${result}" default="null" escapeXml="true" />
2、<c:choose>
<c:when test="${表達式}">
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
标簽類似switch語句
代碼如下 :
<c:choose >
<c:when test="${1>3}">
1>3 <br>
</c:when>
<c:when test="${2==21}">
2==2 <br>
<c:when test="${3>11}">
3>1<br>
<c:otherwise>
預設輸出!<br>
</c:otherwise>
</c:choose>
3、<c:forEach var="" items="${}" varstaus="" [ begin="" step="" end=""]>
</c:forEach>
标簽可以疊代 實作java.util.Collection接口的類 也可以疊代 實作了 java.util.Map的類 .j
也可以疊代數組,對于數組疊代的時候 ,比如 int型數組 的每個成員會被轉換成 Integer 類型 。
要注意的一點是 我們要疊代的對象必須是設定setAttribute設定的屬性 。
<%
String [] strs={"11","22","33","44","55","66","77","88","99","00"} ;
request.setAttribute("strs", strs) ;
Collection col=new ArrayList(10);
for(int i=0;i<10;i++)
col.add(i) ;
request.setAttribute("col", col) ;
Map<Integer,Object> map=new HashMap<Integer,Object>() ;
map.put(10, 22);
map.put(18, 62);
map.put(85,55);
request.setAttribute("map",map) ;
Collection c=map.entrySet() ;
for(Object a:c)
{
((Map.Entry)a).getKey();
}
%>
<c:forEach items="${map}" var="str" varStatus="status">
<c:out value="${str.key}"></c:out>
<c:out value="${status.index}"/>
<c:out value="${status.count}"></c:out><br>
</c:forEach>
4、 利用 <c:forTokens items="${info}" delims="|" varStatus="stat" var="str">
</c:forTokens>
标簽循環提取以 delims分割的字元串,每個子字元串儲存在str中 。
varStatus 依然有四個狀态 index 目前索引 count 目前字串次數 first 是否是第一個字元串 last 是否是最後一個字元串
<%
String info="a|b|c|d";
request.setAttribute("info",info);
<c:forTokens items="${info}" delims="|" varStatus="stat" var="str">
<c:out value="${str}" ></c:out>
<c:out value="${stat.index}"></c:out>
<c:out value="${stat.count}"></c:out>
<c:if test="${stat.first}">這是第一個字元串</c:if>
<c:if test="${stat.last}">這是組後一個字元串</c:if>
</c:forTokens>