JSTL之
阿新 • • 發佈:2018-12-23
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
status.current 當前這次迭代的(集合中的)項
status.index 索引,從0開始,相當於for迴圈裡的i
status.count 計數器,從1開始
status.first 判斷是否是第一條
status.last 判斷是否是最後一條
status.begin 獲得開始時的記錄
status.end 獲得結束時的記錄
status.step 獲得步長
${requestScope.list}是一個List<User>,instance是其中的一個例項
${requestScope.winMap}是一個Map<String,Win>,entry是其中的一個例項,${!status.last}表示不是最後一項
可參考:
JSTL標籤用法 詳解
http://blog.csdn.net/zwhfyy/archive/2009/07/09/4335200.aspx
迭代
http://www.java2000.net/p3893
使用JSTL標籤格式化時間與貨幣形式
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
這裡的value值是你要格式化的值,一般是後臺傳送到前臺的Date物件 後面的pattern對應的是要顯示的格式,可以自定義.
這裡的Value值是任何數值型別,pattern為要顯示的格式,此處為顯示小數點後兩位. minFractionDigits="2" 代表要精確的位數. 記住,這裡的值都是通過四捨五入得到的,並非完全精確!
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
EL表示式拾遺:
pageScope、requestScope、sessionScope 和applicationScope對應JSP的pageContext、request、session和application
request.getParameter(String name)
request.getParameterValues(String name)
application.getInitParameter("userid")
分別等價於:
${param.name}
${paramValues.name}
${initParam.userid}
${pageContext.request.queryString} 取得請求的引數字串
${pageContext.request.requestURL} 取得請求的URL,但不包括請求之引數字串
${pageContext.request.contextPath} 服務的web application 的名稱
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的協議(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得使用者名稱稱
${pageContext.request.remoteAddr } 取得使用者的IP 地址
${pageContext.session.new} 判斷session 是否為新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主機端的服務資訊
${header["User-Agent"]} 要取得使用者瀏覽器的版本
運算子empty,?:
例:${empty param.name}、${A?B:C}、${A*(B+C)}
<tbody> <c:forEach var="instance" items="${requestScope.list}" varStatus="status"> <c:choose> <c:when test="${status.index%2==0}" >//斑馬線 <tr class="SelcetOff"> </c:when> <c:when test="${status.index%2==1}" > <tr class="SelcetOn"> </c:when> </c:choose> <td><div align="center">${instance.userName}</div></td> <td><div align="center">${instance.address }</div></td> <td><div align="center">${instance.role }</div></td> </tr> </c:forEach> </tbody>
status.current 當前這次迭代的(集合中的)項
status.index 索引,從0開始,相當於for迴圈裡的i
status.count 計數器,從1開始
status.first 判斷是否是第一條
status.last 判斷是否是最後一條
status.begin 獲得開始時的記錄
status.end 獲得結束時的記錄
status.step 獲得步長
${requestScope.list}是一個List<User>,instance是其中的一個例項
<c:forEach items="${requestScope.winMap}" var="entry" varStatus="status" > <tr><td><c:out value="${entry.key}" />等獎</td><td><c:out value="${entry.value.winCount}" /></td><td><c:out value="${entry.value.winMoney}" /></td></tr> <c:if test="${!status.last}"> <tr><td>追加</td><td><c:out value="${entry.value.winAddCount}" /></td><td><c:out value="${entry.value.winAddMoney}" /></td></tr> </c:if> </c:forEach>
${requestScope.winMap}是一個Map<String,Win>,entry是其中的一個例項,${!status.last}表示不是最後一項
Map map=request.getParameterMap(); Iterator ite = map.entrySet().iterator(); while (ite.hasNext()) { Map.Entry mapEntry = (Map.Entry)_ite.next(); request.setAttribute((String)mapEntry.getKey(), mapEntry.getValue()); }
可參考:
JSTL標籤用法 詳解
http://blog.csdn.net/zwhfyy/archive/2009/07/09/4335200.aspx
迭代
http://www.java2000.net/p3893
使用JSTL標籤格式化時間與貨幣形式
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<fmt:formatDate value="${date}" pattern="yyyy年MM月dd日 HH:mm:ss"/>
這裡的value值是你要格式化的值,一般是後臺傳送到前臺的Date物件 後面的pattern對應的是要顯示的格式,可以自定義.
<fmt:formatNumber value="${ entry.pretaxprize/100 }" pattern="##.##" minFractionDigits="2" />元
這裡的Value值是任何數值型別,pattern為要顯示的格式,此處為顯示小數點後兩位. minFractionDigits="2" 代表要精確的位數. 記住,這裡的值都是通過四捨五入得到的,並非完全精確!
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
函式 描述 |
fn:contains(string, substring) 如果引數string中包含引數substring,返回true |
fn:containsIgnoreCase(string, substring) 如果引數string中包含引數substring(忽略大小寫),返回true |
fn:endsWith(string, suffix) 如果引數 string 以引數suffix結尾,返回true |
fn:escapeXml(string) 將有特殊意義的XML (和HTML)轉換為對應的XML character entity code,並返回 |
fn:indexOf(string, substring) 返回引數substring在引數string中第一次出現的位置 |
fn:join(array, separator) 將一個給定的陣列array用給定的間隔符separator串在一起,組成一個新的字串並返回。 |
fn:length(item) 返回引數item中包含元素的數量。引數Item型別是陣列、collection或者String。如果是String型別,返回值是 String中的字元數。 |
fn:replace(string, before, after) 返回一個String物件。用引數after字串替換引數string中所有出現引數before字串的地方,並返回替換後的結果 |
fn:split(string, separator) 返回一個數組,以引數separator 為分割符分割引數string,分割後的每一部分就是陣列的一個元素 |
fn:startsWith(string, prefix) 如果引數string以引數prefix開頭,返回true |
fn:substring(string, begin, end) 返回引數string部分字串, 從引數begin開始到引數end位置,包括end位置的字元${fn:substring("ABC","1","2")}擷取結果為“ B ”。 |
fn:substringAfter(string, substring) 返回引數substring在引數string中後面的那一部分字串 |
fn:substringBefore(string, substring) 返回引數substring在引數string中前面的那一部分字串,${fn:substringBefore("ABCD","BC")}擷取的結果為“ A ”。 |
fn:toLowerCase(string) 將引數string所有的字元變為小寫,並將其返回 |
fn:toUpperCase(string) 將引數string所有的字元變為大寫,並將其返回 |
fn:trim(string) 去除引數string 首尾的空格,並將其返回 |
EL表示式拾遺:
pageScope、requestScope、sessionScope 和applicationScope對應JSP的pageContext、request、session和application
request.getParameter(String name)
request.getParameterValues(String name)
application.getInitParameter("userid")
分別等價於:
${param.name}
${paramValues.name}
${initParam.userid}
${pageContext.request.queryString} 取得請求的引數字串
${pageContext.request.requestURL} 取得請求的URL,但不包括請求之引數字串
${pageContext.request.contextPath} 服務的web application 的名稱
${pageContext.request.method} 取得HTTP 的方法(GET、POST)
${pageContext.request.protocol} 取得使用的協議(HTTP/1.1、HTTP/1.0)
${pageContext.request.remoteUser} 取得使用者名稱稱
${pageContext.request.remoteAddr } 取得使用者的IP 地址
${pageContext.session.new} 判斷session 是否為新的
${pageContext.session.id} 取得session 的ID
${pageContext.servletContext.serverInfo} 取得主機端的服務資訊
${header["User-Agent"]} 要取得使用者瀏覽器的版本
運算子empty,?:
例:${empty param.name}、${A?B:C}、${A*(B+C)}