説明するために最善を尽くします。
特定の部門のすべての従業員を返すdoPostがあります。
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = null;
Connection conn = null;
Statement stmt = null;
ResultSet res = null;
String department = request.getParameter("department");
try
{
response.setContentType("text/html");
out = response.getWriter();
out.println("<BODY>");
out.println("<TABLE BORDER=1>");
out.println("<TR>");
out.println("<TD>Id</TD>");
out.println("<TD>Name</TD>");
conn = ConnectionManager.getConnection();
stmt = conn.createStatement();
res = stmt.executeQuery("select * from employees where department ='" + request.getParameter("department") + "'");
if(department.isEmpty())
{
String message = "Employee Name Invalid";
request.setAttribute("message", message);
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/test.jsp");
dispatcher.forward(request, response);
}
if (department.matches(department))
{
while(res.next())
{
out.println("<TR>");
out.println("<TD>" + res.getString(1) + "</TD>");
out.println("<TD><a href='employeeDetail.jsp'>"+ res.getString(3) + " " + res.getString(2) +"</a></TD>");
HttpSession session = request.getSession();
session.setAttribute("name", res.getString(3));
session.setAttribute("lname", res.getString(2));
session.setAttribute("id", res.getString(1));
session.setAttribute("dob", res.getString(6));
session.setAttribute("address", res.getString(8));
session.setAttribute("city", res.getString(9));
session.setAttribute("state", res.getString(10));
session.setAttribute("zip", res.getString(11));
session.setAttribute("phone", res.getString(13));
session.setAttribute("hd", res.getString(7));
session.setAttribute("ext", res.getString(14));
session.setAttribute("dept", res.getString(18));
session.setAttribute("notes", res.getString(16));
}
}
out.println("</TABLE>");
out.println("</BODY>");
}
catch (Exception e)
{
throw new ServletException(e.toString());
}
営業部門を選択すると、結果は次のようになります。
ID名
1ナンシーD.....2アンドリューF.....3ジャネットL....。
各名前はemployeeDetail.jspにハイパーリンクされています。何らかの理由で、上記のリストには表示されません。
リンク(ナンシー、アンドリュー、ジャネット)のいずれかをクリックすると、最後の要素(ジャネット)の結果のみが表示されます。
私の質問は、クリックした従業員の具体的な詳細をどのように取得できるかということです。
私はこれを調べてみましたが、私は正しく質問しているとは思いません。
また、サーブレットに加えることができる変更についてのポインタをいただければ幸いです。
ありがとう。