用jstl和el表達式獲取List中的值

使用jstl時要引入這麼一句話

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@ page language="java" pageEncoding="UTF-8" import="java.util.*" %> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html:html lang="true"> 
  <head> 
    <html:base /> 
    
    <title>MyJsp.jsp</title>

    <meta http-equiv="pragma" content="no-cache"> 
    <meta http-equiv="cache-control" content="no-cache"> 
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
    <meta http-equiv="description" content="This is my page"> 
    <!-- 
    <link rel="stylesheet" type="text/css" href="styles.css"> 
    -->

  </head>

<!-- 測試用數據,一般通過request.attribute跳轉過來--> 
<% 
     List<Map<String,Object>> students = new ArrayList<Map<String,Object>>(); 
        Map<String,Object> s1 = new HashMap<String,Object>(); 
        s1.put("name","jim"); 
        s1.put("age","15"); 
        students.add(s1); 
           Map<String,Object> s2 = new HashMap<String,Object>(); 
        s2.put("name","lucy"); 
        s2.put("age","12"); 
        students.add(s2); 
        
       request.setAttribute("students",students);  

%>  
  <body> 
    <table> 
       <tr> 
        <td>姓名 
        </td> 
        <td>年齡 
        </td> 
       </tr> 
       <!--  loop begin --> 
       <c:forEach var="student" items="${students}" > 
          <tr> 
          <td> <c:out value="${student.name}" default="wang"/> 
          </td> 
               
          <td> 
           <c:out value="${student.age}" default="wang"/> 
          </td> 
          </tr> 
       </c:forEach> 
       <!-- loop end  --> 
    </table> 
  </body> 
</html:html>
在foreach中也可以這麼寫

<td><c:out value="${student.get('name')}" default="wang" /></td>
				<td>${student.name }</td>
都是可以的


運行結果如下:

姓名 年齡

jim   15

lucy 12


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章