我有LookupStudent.jsp可以根据某些条件搜索和列出学生。
该jsp具有到另一个jsp UpdateStudent.jsp的引用链接。
我想要
请您能帮助实现这一目标吗?
LookupStudent.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Lookup Students</title> </head> <body class="body"> <form method="get" action="LookupStudentServlet"> <table border="0"> <tr align="left" valign="top"> <td>Student Name:</td> <td><select name="fnameOperator"> <option value="Eq">Equals</option> <option value="Sw">Starts With</option> <option value="Ew">Ends With</option> <option value="Co">Contains</option> </select></td> <td><input type="text" name="fname" /></td> </tr> <tr align="left" valign="top"> <td></td> <td><input type="submit" name="submit" value="submit" /></td> </tr> </table> </form> <!-- List results --> <c:if test="${not empty studentList}"> <table border="1" cellspacing="0" cellpadding="0" :> <tr> <th>ID</th> <th>Title</th> <th>First Name</th> <th>Last Name</th> </tr> <c:forEach var="students" items="${studentList}"> <tr> <td>${students.studentID}</td> <td>${students.title}</td> <td>${students.firstName}</td> <td>${students.lastName}</td> <td><c:url value="UpdateStudent.jsp" var="url"> <c:param name="StudentID" value="${students.studentID}" /> </c:url> <a href="${url}">edit</a> </tr> </c:forEach> </table> </c:if> <p>There are ${fn:length(studentList)} results.</p> </body> </html>
LookupStudentServlet.java
package org.cms.controller; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.cms.model.StudentDAO; /** * Servlet implementation class ListStudent */ @WebServlet("/LookupStudentServlet") public class LookupStudentServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { String fnameOperator = request.getParameter("fnameOperator"); //System.out.println(fnameOperator); String fname = request.getParameter("fname"); String condition = "where 1=1 "; if (fname!=null||fname.length()>0) { if (fnameOperator.equalsIgnoreCase("Eq")) { condition =condition+ "and first_name = '"+fname+"'"; } else if (fnameOperator.equalsIgnoreCase("Sw")) { condition =condition+ "and first_name like '"+fname+"%'"; } else if (fnameOperator.equalsIgnoreCase("Ew")) { condition =condition+ "and first_name like '%"+fname+"'"; } else if (fnameOperator.equalsIgnoreCase("Co")) { condition =condition+ "and first_name like '%"+fname+"%'"; } } //System.out.println(condition); StudentDAO student = new StudentDAO(); List<StudentDAO> students = student.lookupStudent(condition); request.setAttribute("studentList", students); } catch (SQLException sqle) { request.setAttribute("error", "Retrieving Students failed."); sqle.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally {} request.getRequestDispatcher("LookupStudent.jsp").forward(request, response); } }
UpdateStudent.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Lookup Students</title> </head> <link rel="stylesheet" href="css/style.css" type="text/css"></link> <body class="body"> <form method="get" action="UpdateStudent" class="form"> <table border="0"> <tr align="left" valign="top"> <td>Student ID:</td> <td><input type="text" name="StudentID" /></td> </tr> <tr align="left" valign="top"> <td>Title:</td> <td><input type="text" name="Title" /></td> </tr> <tr align="left" valign="top"> <td>First Name:</td> <td><input type="text" name="Fname" /></td> </tr> <tr align="left" valign="top"> <td>Last Name:</td> <td><input type="text" name="Lname" /></td> </tr> <tr align="left" valign="top"> <td></td> <td><input type="submit" name="submit" value="submit" class="fb8" /></td> </tr> </table> </form> </body> </html>
UpdateStudentServlet.java
package org.cms.controller; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.cms.model.StudentDAO; /** * Servlet implementation class ListStudent */ @WebServlet("/UpdateStudentServlet") public class UpdateStudentServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { int studentID; studentID = Integer.parseInt(request.getParameter("StudentID")); //System.out.println(fnameOperator); String condition = "where 1=1"; condition = condition+"and student_id = "+studentID; System.out.println(condition); StudentDAO student = new StudentDAO(); List<StudentDAO> students = student.lookupStudent(condition); request.setAttribute("studentList", students); } catch (SQLException sqle) { request.setAttribute("error", "Retrieving Students failed."); sqle.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally {} request.getRequestDispatcher("UpdateStudent.jsp").forward(request, response); } }
如果仅是问题,则将参数从一个jsp传递到另一个。您有多种方法。你可以用这样的东西
request.setAttribute("parameterName")
或者您可以使用诸如和标签之类的东西。这样,您可以传递参数。甚至您的代码似乎都像传递参数一样,您将获得哪种异常?谢谢,本