我需要显示PL SQL表中的数据以进行赋值。我将结果作为HashMap并将其传递给JSP页面。如何在表格中显示这些数据?我可以在JSTL标签中使用HTML标签吗?
<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);
答案 0 :(得分:1)
这是java方法中的HaspMap创建:
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。希望这会有所帮助。
答案 1 :(得分:1)
是的,您可以在JSTL标记内使用HTML标记。这就是你可以用JSP / HTML打印表格的方法。
您可能希望每个employee
都是一行。要做到这一点,不要忘记将td
包裹在tr
c:forEach
内<{1}}