2015-11-03 105 views
2

我需要顯示來自PL SQL表中的數據以進行分配。我將結果作爲HashMap並將其傳遞給JSP頁面。我如何在一個表格中顯示這些數據?我可以在這樣的JSTL標籤內使用HTML標籤嗎?我們如何迭代JSTL中的HashMap?

<c:forEach items="${employees}" var="employee"> 
    <td>${employee.name}</td> 
    <td>${employee.city}</td> 
    <td>${employee.salary}</td> 
<c:forEach> 

還是有任何其他技術使用PL SQL在JSP頁面中打印表?

編輯: 這是我的代碼:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <title>JSP Page</title> 
    </head> 
    <body> 
    <h1>Employee Details</h1> 
    <form action="handler" method="post"> 
     <table> 
      <tr> 
       <td>Employee ID</td> 
       <td>First Name</td> 
       <td>Last Name</td> 
       <td>Start Date</td> 
       <td>End Date</td> 
       <td>Salary</td> 
       <td>City</td> 
       <td>Description</td> 
      </tr> 
      <c:forEach items="${employees}" var="employee"> 
      <tr> 
       <td>${employee.value.id}</td> 
       <td>${employee.value.fName}</td> 
       <td>${employee.value.lName}</td> 
       <td>${employee.value.startD}</td> 
       <td>${employee.value.endD}</td> 
       <td>${employee.value.salary}</td> 
       <td>${employee.value.city}</td> 
       <td>${employee.value.desc}</td> 
      </tr> 
      </c:forEach>      
     </table> 
    </form> 
    </body> 
</html> 

編輯2:

這是我創造了我的HashMap:

while (rs.next()) { 
    employee = new Employee(
    rs.getString("EMPLOYEEID"), 
    rs.getString("FIRST_NAME"), 
    rs.getString("LAST_NAME"), 
    rs.getString("START_DATE"), 
    rs.getString("END_DATE"), 
    rs.getString("SALARY"), 
    rs.getString("CITY"), 
    rs.getString("DESCRIPTION") 
); 

    System.out.println(employee.toString()); 
    employees.put(rs.getString("EMPLOYEEID"), employee); 
+1

使用試試你的td(idm習語)用'​​' –

回答

1

這是HaspMap創作在java方法中:

Map<String, String> countryList = new HashMap<String, String>(); 
countryList.put("United States", "Washington DC"); 
countryList.put("India", "Delhi"); 
countryList.put("Germany", "Berlin"); 
countryList.put("France", "Paris"); 
countryList.put("Italy", "Rome"); 

HaspMap中的第一個參數是Key,第二個參數是值。現在你需要在jsp中訪問它,只需鍵和值如下:

<c:forEach var="country" items="${capitalList}"> 
    Country: ${country.key} - Capital: ${country.value} 
</c:forEach> 

那就是它。在你的情況下,你也可以在jsp中用鍵和值循環。希望這可以幫助。

+0

我添加了頭文件,但沒有顯示任何數據 –

+0

您是否在發送它的方法中檢查了java方法中的HashMap到jsp?是否包含值? – anishroniyar

+0

我打印出來了,它顯示了數據,另一件事我們可以打印這樣的對象嗎??? –

1

是的,您可以在JSTL標籤內使用HTML標籤。這就是您可以如何在JSP/HTML中打印表格的方式。

您可能希望每個employee都是一排。要做到這一點不要忘了包內trc:forEach

+0

如果我把''放在'''標籤內?我要求瞭解更多。並感謝您的答案。我會嘗試的。 –

+1

是的,你也可以在''裏面加上''。你可以用各種方式混合它們。你甚至可以嵌套它們(比如'c:forEach'然後'tr'然後再'c:forEach'然後'td'等) –

+0

但是我仍然沒有在我的JSP頁面中得到任何結果。我將該代碼發佈爲編輯。你能幫我嗎? –