1.c:forEach
1.1遍历Collection
<h4>c:forEach:可以对数组,Collection,Map进行遍历</h4>
<c:forEach begin="1" end="10" step="3" var="i">
${i }-
</c:forEach>
<br><br>
<%
List<Customer> custs=new ArrayList<Customer>();
custs.add(new Customer(1,"AAA"));
custs.add(new Customer(2,"BBB"));
custs.add(new Customer(3,"CCC"));
custs.add(new Customer(4,"DDD"));
custs.add(new Customer(5,"EEE"));
request.setAttribute("custs", custs);
%>
<c:forEach items="${requestScope.custs }" var="cust" >
${cust.id }: ${cust.name }<br>
</c:forEach>
运行结果
将代码部分修改为
运行结果为
1.2遍历Map
代码
<h5>遍历Map</h5>
<%
Map<String,Customer> custMap=new HashMap<String,Customer>();
custMap.put("a",new Customer(1,"AAA"));
custMap.put("b",new Customer(1,"BBB"));
custMap.put("c",new Customer(1,"CCC"));
custMap.put("d",new Customer(1,"DDD"));
custMap.put("e",new Customer(1,"EEE"));
custMap.put("f",new Customer(1,"FFF"));
request.setAttribute("custMap", custMap);
%>
<c:forEach items="${requestScope.custMap }" var="cust">
${cust.key }-${cust.value.id }-${cust.value.name }<br>
</c:forEach>
结果
1.3遍历数组
代码
<h5>遍历数组</h5>
<%
String[] names=new String[]{"A","B","C"};
request.setAttribute("names", names);
%>
<c:forEach var="name" items="${names }">
${name }-
</c:forEach>
运行结果
切记数组没法改变自己的长度,如果是不定长度的,不能使用数组
2.c:forTokens
处理字符串,类似于String的split()方法
代码
<h4>c:forTokens</h4>
<c:set value="a,b.c.d.e;f;j" var="test" scope="request"></c:set>
<c:forTokens items="${requestScope.test }" delims="," var="s">
${s }<br>
</c:forTokens>
结果
问题
- 在JSP页面中插入类
<%@ page import="test.Customer" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
- Property ‘id’ not found on type Customer
在Customer中没有写get和set方法导致这个错误
欢迎留言交流!!!