[英]How to read and pass data from servlet to JSP
有關從servlet讀取數據並將數據傳遞到JSP的問題
我想創建一個Java EE項目。 該項目總共有5個文件。
獲取雇員ID或雇員信息的EmployeeInfo.jsp文件。 它有兩個提交按鈕。 如果用戶要搜索Employee,則將輸入一個ID,它將調用EmployeeSearchServlet,如果用戶想添加新的Employee信息,則將使用輸入的客戶信息來調用EmployeeRegistrationServlet。 這是代碼:
應該使用EmployeeSearchServlet搜索具有最終用戶輸入的雇員ID的雇員。 Servlet的工作是在集合中找到特定的雇員。 一旦找到雇員,該流程將轉發到EmployeeDetails.jsp。
EmployeeRegistrationServlet應該將員工添加到集合中,該集合將員工存儲在內存中。
如果找到員工,則該員工的詳細信息將顯示在EmployeeDetails.jsp上。 如果添加了新員工,則該員工的詳細信息將顯示在EmployeeDetails.jsp中。
這是我的EmployeeInfo.jsp
<body>
<h1 align="center">Employee Information</h1>
<!--Form of find employee by employeeID -->
<form action="EmployeeSearchServlet" method="POST">
<fieldset>
<legend>Find Employee</legend>
Employee ID: <input type="text" name="findEmployeeID"><br>
<input type="submit" name="findEmployeeSubmit" value="Find Employee">
</fieldset>
</form>
<p></p>
<!--Form of add employee-->
<form action="EmployeeRegistrationServlet" method="POST">
<fieldset>
<legend>Employee Information</legend>
<table>
<tr>
<td>Employee ID (key)*: </td>
<td><input type="text" name="employeeID"></td>
</tr>
<tr>
<td>First Name:* </td>
<td><input type="text" name="firstName"></td>
</tr>
<tr>
<td>Last Name:* </td>
<td><input type="text" name="lastName"></td>
</tr>
<tr>
<td>Email: </td>
<td><input type="text" name="email"></td>
</tr>
<tr>
<td>Phone: </td>
<td><input type="text" name="phone"></td>
</tr>
<tr>
<td>Hire Date: </td>
<td><input type="text" name="hireDate"></td>
</tr>
<tr>
<td>Manager ID: </td>
<td><input type="text" name="managerID"></td>
</tr>
<tr>
<td>Department ID: </td>
<td><input type="text" name="departmentID"></td>
</tr>
</table>
<input type="submit" name="addEmployeeSubmit" value="Add Employee">
</fieldset>
</form>
</body>
這是我的Employee bean。
public class Employee {
private String employeeID;
private String firstName;
private String lastName;
private String email;
private String phoneNumber;
private String hireDate;
private String managerID;
private String departmentID;
public Employee(String newEmployeeID,
String newFirstName,
String newLastName,
String newEmail,
String newPhoneNumber,
String newHireDate,
String newManagerID,
String newDepartmentID){
this.employeeID = newEmployeeID;
this.firstName = newFirstName;
this.lastName = newLastName;
this.email = newEmail;
this.phoneNumber = newPhoneNumber;
this.hireDate = newHireDate;
this.managerID = newManagerID;
this.departmentID = newDepartmentID;
}
public void setEmployeeID(String newEmployeeID){
this.employeeID = newEmployeeID;
}
public void setFirstName(String newFirstName){
this.firstName = newFirstName;
}
public void setLastName(String newLastName){
this.lastName = newLastName;
}
public void setEmail(String newEmail){
this.email = newEmail;
}
public void setPhoneNumber(String newPhoneNumber){
this.phoneNumber = newPhoneNumber;
}
public void setHireDate(String newHireDate){
this.hireDate = newHireDate;
}
public void setManagerID(String newManagerID){
this.managerID = newManagerID;
}
public void setDepartmentID(String newDepartmentID){
this.departmentID = newDepartmentID;
}
public String getEmployeeID() {
return employeeID;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String getEmail() {
return email;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getHireDate(){
return hireDate;
}
public String getManagerID(){
return managerID;
}
public String getDepartmentID(){
return departmentID;
}
}
這是我的EmployeeRegistrationServlet
@WebServlet("/EmployeeRegistrationServlet")
public class EmployeeRegistrationServlet extends HttpServlet {
private Map<String,Employee> employees;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String employeeID = request.getParameter("employeeID").trim();
String firstName = request.getParameter("firstName").trim();
String lastName = request.getParameter("lastName").trim();
String email = request.getParameter("email").trim();
String phone = request.getParameter("phone").trim();
String hireDate = request.getParameter("hireDate").trim();
String managerID = request.getParameter("managerID").trim();
String departmentID = request.getParameter("departmentID").trim();
employees = new HashMap<String,Employee>();
Employee newAdd = new Employee(employeeID, firstName, lastName, email, phone, hireDate, managerID, departmentID);
request.getRequestDispatcher("../../../../WebContent/EmployeeDetail.jsp").forward(request,response);
}
}
我的問題是如何使用EmployeeDetail.jsp讀取從EmployeeRegistrationServlet傳遞的bean對象? 以及如何通過搜索員工ID查找員工? 請給我一些建議。 非常感謝。
我的問題是如何使用EmployeeDetail.jsp讀取從EmployeeRegistrationServlet傳遞的bean對象?
您需要將“請求/會話中的對象”屬性設置為可用於轉發的jsp
如何通過搜索員工ID查找員工?
取決於您的數據存儲,例如,如果您使用的是mysql,則需要使用jdbc和查詢以按ID獲取記錄
看到
您有很多選擇。 我鼓勵您看一下本教程,並考慮使用<jsp:useBean id="myObject" class="myClass" scope="session"/>
標簽:
這是Oracle的完整JSTL教程:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.