JSTL 1.2.x is the latest version of JSTL. There are a few differences between this version and the previous JSTL 1.1.x version. The most important difference is that JSTL 1.2.x supports Unified EL (Expression Language) , where as JSTL 1.1.x supports only traditional EL. With Unified EL it becomes very easy to combine the EL in JSF (Java Server Faces) and the EL in JSTL. This guide shows you how to install JSTL 1.2.x properly or troubleshoot your existing JSTL installation. (from: http://hi.baidu.com/kelly_zsl/blog/item/e004562e4f3363331f3089a0.html)
1. 需要的jar包: jstl-1.2.jar
2. 復制此jstl-1.2.jar到Web工程的WEB-INFO/lib目錄,不需要任何其他的配置,就可以在JSP頁面中使用jstl了.
3. 示例: 在頁面中輸出 1 到 10
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<c:forEach var="i" begin="1" end="10" step="1">
<c:out value="${i}" />
</c:forEach>
</body>
EL只操作屬性,所操作的類應該是JavaBean規范的,所操作的屬性要有getter, setter.
${user.username}: 默認是從request(page)中取,如果request中沒有名為username的對象則從session中取,session中沒有則從application(servletContext)中取,如果沒有取到任何值則不顯示。
</html>
訪問ArrayList的方式:
1. 放入request.setAttribute()或者session.setAttriute(),然后items="${users}"
<table border=1>
<tr>
<td>用戶名</td><td>密碼</td>
</tr>
<c:forEach var="users" items="${users}">
<tr>
<td><c:out value="${users.username}" /></td>
<td><c:out value="${users.password}" /></td>
</tr>
</c:forEach>
</table>
2. 使用JSP的賦值表達式 items="<%= users %>",這種方式也可以訪問數組
<table border=1>
<tr>
<td>用戶名</td><td>密碼</td>
</tr>
<c:forEach var="users" items="<%= users %>">
<tr>
<td><c:out value="${users.username}" /></td>
<td><c:out value="${users.password}" /></td>
</tr>
</c:forEach>
</table>
學習示例: http://www.java2s.com/Tutorial/Java/0380__JSTL/Catalog0380__JSTL.htm