EL表达式入门
转自 http://blog.chinaunix.net/uid-9789791-id-1997374.html
隐含对象:
pageContext: pageContext对象
pageScope:Map对象,保存page内的key-value
requestScope:Map对象,保存request内attribute的key-value
sessionScope: Map对象,保存session内的key-value
applicationScope: Map对象,保存application内的key-value
header: Map对象,保存header内的key-value
headerValues: Map对象,保存header内的key-values
cookie: Map对象,保存cookie对象的key-value
initParam: Map对象,保存ServletContext内parameter的key-value
param: Map对象,保存request内parameter的key-value
paramValues: Map对象,保存request内parameter的key-values
实例:
作用域
${requestScope.productId}
${sessionScope.userName}
表单
${param.idNo}
相当于在servlet中使用request.getParameter("idNo");
${paramValues.idNo[2]}
相当于在servlet中使用request.getParameterValues("idNo");
操作符:
空:empty
非空:not empty
大于:>
大于等于:>=
等于:==
不等于:!=
小于:<
小于等于:<=
运算符:
+,-,*,/,mod(求模)
JSTL
//声明标签
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
显示
<c:out value="/blog/”${value.userName}”/>
定义变量,可以定义四个域里的变量,例如request
<c:set var=”MY_VALUE” value="/blog/”${value.someClass}”" scope=”request”/>
格式化日期显示
<fmt:formatDate value="/blog/”${requestScope.someDate}”" pattern=”dd/MM/yyyy”/>
显示多语言
<fmt:message value=”myname”/>
条件判断:
<c:if test=”${empty userName}”>
</c:if>
<c:choose>
<c:when test=”${not empty userName}”>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
循环
<c:forEach var=”myVar” varStatus=”status” items=”${requestScope.myCollection}”>
</c:forEach>
在循环中显示带,的字符串技巧 eg.aaa,bbb,ccc
<c:forEach var=”myVar” varStatus=”status” items=”${requestScope.myCollection}”>
<c:if test=”${status.index>0”>,</c:if>
<c:out value="/blog/”${myVar.userName}”/>
</c:forEach>
A |
B |
C |
D |
||
E |
F |
|
G |
H |
表格结构:
<tr>
<td rowspan=3>A</td>
<td rowspan=2>B</td>
<td>c</td>
</tr>
<tr><td>D</td></tr>
<tr><td>E</td><td>F</td></tr>
<tr><td>G</td><td>H</td></tr>