如何将值从一个jsp传递到另一个jsp以更新数据库 [英] how to pass values from one jsp to another jsp to update database
问题描述
我有LookupStudent.jsp可以根据某些条件搜索并列出学生.
I have LookupStudent.jsp to search and list student based on some condition.
此jsp具有到另一个jsp UpdateStudent.jsp的引用链接.
this jsp has a ref link to a another jsp, UpdateStudent.jsp.
我想
- 根据来自LookupStudent.jsp的学生ID在UpdateStudent.jsp中显示学生
- 根据步骤1中所做的更改更新表.
请帮助您实现这一目标吗?
Please can you help how to acheive this?
LookupStudent.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
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
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
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传递到另一个. 您有多种方法.您可以使用类似的东西
If the question is solely concerned passing parameter from one jsp to another. You have got multiple ways. You can use something like this
request.setAttribute("parameterName")
或 您可以使用诸如和标签之类的东西.这样你可以 传递参数.甚至您的代码似乎都喜欢传递参数,这是什么样的 你得到的例外? 谢谢, 本
OR You can use something like and tags. This way you can pass the parameters. Even your code seems like passing the parameter, what kind of exception you are getting? Thanks, Ben
这篇关于如何将值从一个jsp传递到另一个jsp以更新数据库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!