el表達式的取值默認順序:
pageScope requestScope sessionScope applicationScope
結構,采用.導航,也稱為存取器 ${user.name} ${user.class.name}
輸出map ${mapValue.key1}
輸出數組 ${strArray[1]}
輸出list ${list[1].name}
el表達式的運算
${1+2}= 3
${10/5}= 2.0
${10%3}= 1
${10 div 2}= 5.0
${10 mod 4}= 2
el表達式對應的運算符
等於 == eq
不等於 != ne
大於 > gt
小於 < lt
大於等於 >= ge
小於等於 <= le
與 && or
或 || and
非 ! not
加 +
減 -
乘 *
除以 / div
求莫 % mod
el表達式判斷是否為空
request.setAttribute("value1",null) ${empty requestScope.value1} = true
request.setAttribute("value2","") ${empty requestScope.value1} = true
request.setAttribute("value3",new ArrayList()) ${empty requestScope.value1} = true
request.setAttribute("value4","i love you") ${empty requestScope.value1} = false
request.setAttribute("value4","i love you") ${!empty requestScope.value1} = true
-------------------------------------------------------------------------
web.xml的
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.4"> 大於等於2.4 方可支持jstl
先引入 standard.jar 和 jstl.jar
jstl標簽的用法 在頁面引入 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
輸出標簽 -----------
<c:out value="ppp" /> 輸出 ppp
<c:out value="null" default="ddd"/> 輸出 ddd 可以設置默認值
<c:out value="<font color="red">kkk</font>" escapeXml="false"/> 輸出 紅色的kkk 默認的escapeXml為true
賦值標簽 -----------
<c:set value="123" var="jj" scope="session" /> 此時有個名為jj,值為123的session ,默認的scope為page
${jj} 在頁面打印出123
<c:remove var="jj" /> 將其刪除,可以指定scope,默認為page
邏輯標簽 -----------
<c:if test="?" /> ?:代表條件 可以用el表達式
-----------
<c:choose>
<c:when test="?">
...... 相當於 if...else... c:when 可以有多個,相當於else if
</c:when>
<otherwise>
......
</otherwise>
</choose>
循環控制標簽 -----------
<c:forEach items="${list}" var="u" > ${list}是一個集合
${u.name}
</c:forEach>
<c:forEach items="${list}" var="u" varStatu="ss">
<c:choose>
<c:when test="u.age % 2 == 0">
<tr bgColor="red"> 如果集合中的數字是偶數,則當行為紅色
</c:when>
<otherwise>
<tr>
</otherwise>
</choose>
</c:forEach>
<c:forEach items="${list}" var="u" begin="2" end="8" step="2"> 輸出下表(從0開始)為2到8的元素,每次遞增2
${u.name} 將輸出u[2].name u[4].name u[6].name u[8].name
</c:forEach>
Map m = new Map();
m.put("k1","v1");
m.put("k2","v2");
request.setAttribute("mapValue",m);
<c:forEach items="mapValue" var="ma">
${ma.key} = ${ma.value} 輸出: k1=v1 k2=v2
</c:forEach>
間隔符控制標簽-------------
request.setAttribute("str","1,2,3,4,5");
<c:forTokens items="str" delims="," var="de">
${de} 輸出 12345
</c:forTokens>
捕獲異常標簽 ----------
<c:catch var="info">
<%
Integer.parseInt("sdfsdf");
%>
</c:catch>
${info} 輸出:異常信息
導入頁面標簽 -----------
<c:import url="http://www.baidu.com" /> 相當於include
鏈接標簽 ------------
<c:url value="http://www.baidu.com" var="v"/>
<c:param name="name" value="jack" />
<c:param name="age" value="20" />
</url>
${v} 輸出 http://www.baidu.com?name=jack&age=20
重定向標簽 ------------
<c:redirect context="/company" url="/index.jsp"> 定位到名叫company的項目下的index.jsp頁面