jsp中jstl、el使用


tomcat7.0+JSTL1.1.2(不沖突)

EL表達式獲取變量
	${表達式} 如:${user.name}   不可以動態取值
			 ${user[name]}可以動態取值,變量名中含有特殊字符時只能用此方法
			 ${user[0]}

	1、PageScope  Page
	2、RequestScope Request
	3、SessionScope Session
	4、ApplicationScope Application	查找順序為1234,沒找到EL變量會輸出為空的字符串,不是											null
	EL表達式可以自動類型轉換
	EL 可使用算術、邏輯運算符和驗證運算empty 用法是 empty+變量名,判斷變量是否為空,null和	空字符串都返回true

步驟加入jar包+jsp中加入標簽庫<%@ taglib uri="http:xxxxxxxx" prefix="c"%>
<c:out value="xxx" default=“設輸出默認值”escapeXml=“false表示轉義value中的&gt”></c:out> 輸		出xxx值,xx可以為EL表達式、常量、變量

<c:set var="變量名" scope="所在作用域" value="變量值">也可以變量值</c:set>
存值到javabean
	<jsp:useBean id="person" class="com.Person"></jsp:useBean>
	<c:set target="${person}" property="name" value="zhangsan"></c:set>
	<c:out value="${person.name}"></c:out>

<c:remove var="" /> var必選  scope可選

<c:catch var="error">
里面代碼出錯,會把錯誤信息保存在error變量中
</c:catch>

<c:if test="用EL表達式寫的判斷條件" var="" scope=""> </c:if>
<input type="text" name="scope" value="${param.scope}">用戶輸入的值存放到param.scope中

<c:choose>
可含有多個when/otherwise
<c:when test="">c:out輸出內容</:when>
。。。
<c:otherwise>c:out輸出when條件之外的范圍對應的內容</c:otherwise>
</c:choose>

全部遍歷
<c:forEach var="aa代表遍歷的當前元素" items="${需要遍歷的變量}">
。。。進行操作aa變量
</c:forEach>
部分遍歷
<c:forEach var="aa代表遍歷的當前元素" items="${需要遍歷的變量}" begin="1" end="4">
。。。進行操作aa變量 1/4都會輸出
</c:forEach>
部分遍歷制定步長(間隔多少取值)
<c:forEach var="aa代表遍歷的當前元素" items="${需要遍歷的變量}" begin="1" end="4" step="默認1">
。。。進行操作aa變量 1/4都會輸出
</c:forEach>
狀態
<c:forEach var="aa代表遍歷的當前元素" items="${需要遍歷的變量}" varstatus=“xx”>
。。。進行操作aa變量
輸出當前元素的索引xx.index 從0開始
輸出當前元素的xx.count 從1開始
輸出當前元素的xx.first 判斷此元素是不是第一個
輸出當前元素的xx.last 判斷此元素是不是最后一個
</c:forEach>

<c:forTokens items="11-22-455-888" delims="-" var="num">

拆分字符串並循環輸出分割后的子字符串num
begin、end、step、varstatus與foreach用法相同
</c:forTokens>

<c:import>標簽與<jsp:include>
	<jsp:include>只能包含同一個web應用上的文件
	<c:import>可以包含其他web應用中的文件,甚至網絡上的資源context="必須/開頭"
	
	<c:import url="網絡資源絕對路徑" >
	</c:import>

	本項目相對路徑:
	<c:import url="tt.txt" charEncoding="gbk" var="tt存放txt中的內容" scope="變量作用域">
	</c:import>

	<c:import url="/index.jsp其他項目的" context="/其他項目名">
	這種用法前提是:1、修改tomcat的默認發布路徑,保證都在webapps路徑下
	2、修改%TOMCAT_HOME%/conf/context.xml的context標簽中的添加屬性crossContext=“true”
		重啟運行		
	</c:import>
	

<c:redirect url="xx.jsp">
<c:param name="xx">xxxx</c:param>重定向到xx且參數值顯示在url中
在xx中獲取方式:${param.xx}

<c:url value="鏈接/${xx}" var="xxx" scope="mmm" >
var存放value中的連接,結合if可以動態生成鏈接
</c:redirect>

JSTL常用函數
	前提:加入新的taglib  <%@ taglib uri="http:xxxxxxxx" prefix="fn"%>

	${fn:contains("xx","xxx")} 判斷xx中是否有xxx
	${fn:containsIgnoreCase("xx","xxx")} 判斷xx中是否有xxx,不區分大小寫
	${fn:endWith("xx","xxx")}
	${fn:startWith("xx","xxx")}
	${fn:indexOf("xx","xxx")}
	...

	輸出XML
		${fn:escapeXml("<ss>xx</ss>")} 會轉義成$gt
		輸出XML做法<c:out value="<ss>xx</ss>"></c:out>

  

<td><fmt:formatDate value="${item.rewardTime }" type="time" pattern="yyyy-MM-dd HH:mm:ss"/></td> 處理時間
<td><c:if test="${item.status == 'N'}">正常</c:if>
<c:if test="${item.status == 'T'}">已調整</c:if>
</td> 處理返回字段

 

 

<c:set value="${ fn:split(mission.districtCodes, ',') }" var="str2" />${fn:length(str2) }//字符串轉數組 並獲取長度


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM