总结:
前提:添加: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
(可以不要jar 包)
【EL】
1.
先存:
request.setAttribute("news",news);
再取:
java小脚本:request.getAttribute("news",news);
EL表达式:${news}或${requestScope.news}
获取其属性:如:${news.id}
作用域:
a.请求作用域,如:${requestScope.news}
b.会话作用域,如:${sessionScope.username}
c.程序作用域, 如:${applicationScope.count}
d.页面作用域,如:${pageScope.userNum}
如果我们并没有指定哪一个范围的news,所以它会依序从Page、Request、Session、Application范围查找.
举例:
< %=request. getParameter(“username”)% > 等价于 ${ param. username }
<%=request.getAttribute(“userlist”) %> 等价于$ { requestScope.userlist }
2.结合JSTL使用,则不需要先存放
如:<c:set var="name" value="cccc" ></c:set>
<c:out value="${name}" ></c:out>
常用的标签有:
【JSTL】
1. <c:out />
<c:out value="<string>" default="<string>" escapeXml="<true|false>"/>
value | 要输出的内容 | 是 | 无 |
default | 输出的默认值 | 否 | 主体中的内容 |
escapeXml | 是否忽略XML特殊字符 | 否 | true |
2.<c:set />
<c:set value="kkk" var="sss" scope="request"></c:set>
<c:set value="zhangsan" target="dept" property="dname"></c:set> //target: 对象名 ; property :属性
如:<c:set var="name" value="cccc" ></c:set>
<c:out value="${name}" ></c:out>
3.<c:if />
<c:if test="condition" var="varname" scope="scope"> </c:if>
4.<c:forEach />
<c:forEach var="dept" items="${deptList}" varStatus="start">
<tr <c:if test="${start.count%2==0 }"> id="getcolor"</c:if>
<td>${dept.did}</td>
<td>${dept.dname}</td>
<td>${dept.demc}</td>
<td><a href="doUpdate.jsp?did=${dept.did}">修改</a></td>
<td><a href="doDelete.jsp?did=${dept.did}">删除</a></td>
</tr>
</c:forEach>
5.<c:url />
<c:url value="index1.jsp" var="index" >
<c:param name="did" value="1"></c:param>
<c:param name="dname" value="zhangsan"></c:param>
</c:url>
<c:out value="${index}"></c:out>
结果:index1.jsp?did=1&dname=zhangsan
6.<c:param />
<c:url value="index1.jsp" var="index" >
<c:param name="did" value="1"></c:param>
<c:param name="dname" value="zhangsan"></c:param>
</c:url>
7.<fmt:formatDate />
格式化时间