サーブレットをコントローラーとして使用して Database.Am から値を取得し、配列リストを jsp ページに渡すことによって、ドロップ ダウン リストを動的にロードする必要があります。jspページでjstlを使用して配列リストを表示していますが、値は表示されませんでした。どんな助けでも大歓迎です。
ダオ:
//Method call to retrieve the customer names from Database
public List<Report> getAllCustomers() {
List<Report> customers = new ArrayList<Report>();
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
prop = PropertyFileLoaderTon.getInstance()
.getPropertiesConfiguration(REPORTDATA_PROPERTY_FILE);
String tableName = prop.getString(REPORTS_TABLE);
String sql = "select distinct CUSTOMERNAME from tableName ";
conn = ConnectionFactory.getInstance().getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while (rs.next()) {
Report report = new Report();
String customer = rs.getString("CUSTOMERNAME");
report.setCustomerName(customer);
customers.add(report);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null) {
stmt.close();
stmt = null;
}
if (conn != null) {
conn.close();
conn = null;
}
} catch (Exception e) {
}
}
return customers;
}
サーブレット:
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
GenericDao genericDao = new GenericDao();
List<Report> customers = genericDao.getAllCustomers();
request.setAttribute("CustomerList", customers);
request.getRequestDispatcher("jsp/ShowReport.jsp").forward(request,
response);
}
JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/ReportData/DisplayReport" method="post">
Please select an element:
<select id="selectedRecord" name="selectedRecord">
<c:forEach var="CustomerList" items="${CustomerList}">
<option value="${CustomerList}">${CustomerList.customerName}</option>
</c:forEach>
</select>
<input type="submit" value="Submit" align="middle">
</form>
</body>
</html>
豆:
公開クラス レポート {
private String customerName;
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
}