Javaサーブレットからjspページに情報を送信することが私の割り当ての要件です。
私の質問は、関数の呼び出しに関するものです。複数の結果を見つけるSQLクエリが含まれています。私が抱えている問題は、結果セットの最後の最後だけをjspページに返し、すべての結果を返すことではないということです。
サーブレットは次のとおりです。
private void sendBack(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session = request.getSession(true);
//Set data you want to send back to the request (will be forwarded to the page)
//Can set string, int, list, array etc.
String sql = "SELECT id, user_id" +
" FROM lab" +
" WHERE user_id=" + (Integer)session.getAttribute("id");
try{
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/wae","root","");
System.out.println("got boobs");
System.out.println(session.getAttribute("id"));
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery(sql);
ArrayList<String> list1 = new ArrayList<String>();
if (res.next()){
do{
list1.add(res.getString(1));
list1.add(res.getString(2));
}while(res.next());
request.setAttribute("res", res);
}
for(int i=0;i<list1.size();i++){
System.out.println(list1.get(i));
}
}catch (SQLException e) {
}
catch (Exception e) {
}
//Decides what page to send the request data to
RequestDispatcher view = request.getRequestDispatcher("Student_manage.jsp");
//Forward to the page and pass the request and response information
view.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">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Mars University Lab System</title>
<link rel="stylesheet" href="style.css" type="text/css" media="screen">
</head>
<body>
<jsp:include page="headerStudent.jsp"/>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<div id = "centrecontent">
<br>
<h3>Manage Timetable</h3>
TESTING THE NO FORM REDIRECTION HERE:<br>
<% String data1 = String.valueOf(request.getAttribute("data1")); %>
<% String data2 = String.valueOf(request.getAttribute("data2")); %>
<%=data1 %>
<%=data2 %>
</div>
<jsp:include page="footer.jsp"/>
</body>
</html>
各結果をステップスルーするには、jspページに何らかのdoステートメントが必要だと思います。