wie übergibt man Werte von einer jsp auf eine andere jsp-Datei zum aktualisieren der Datenbank
Habe ich LookupStudent.jsp-Suche und Liste-student auf eine bestimmte Bedingung.
diese jsp hat einen ref-link zu einer anderen jsp, UpdateStudent.jsp.
Möchte ich
- display ein student in der UpdateStudent.jsp basiert auf einer Schüler-id von LookupStudent.jsp
- Update-Tabelle, basierend auf den änderungen in Schritt 1.
Bitte helfen Sie, wie Sie erreichen dies?
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);
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die Frage ist ausschließlich, betrifft die übergabe-parameter von einer jsp auf eine andere.
Sie haben mehrere Möglichkeiten. Sie können so etwas wie das
BZW.
Können Sie etwas, das wie und tags. Auf diese Weise können Sie
die übergabe der Parameter. Auch dein code scheint, wie die übergabe der parameter, auf welche Art
der Ausnahme, die Sie bekommen?
Vielen Dank,
Ben
können Sie
Wenn Sie möchten, senden parameter von Seite zu Seite können Sie die Sitzung auch:
und auf der anderen Seite:
Ich glaube doch, können wir die Parameter in den Bereichen verwendet, aber stellen Sie sicher, dass Sie die Sitzung sehr vorsichtig, da zu viele session-Attribute können verlangsamen Ihre Leistung.
HTH,
Ben
Wenn Sie möchten, übergeben Sie String -, Integer ....
und die von der anderen Seite