关于从 servlet 读取数据并将其传递到 JSP 的问题
我想创建一个 Java EE 项目。该项目总共有 5 个文件。
- JSP 文件:EmployeeInfo.jsp、EmployeeDetails.jsp
- Servlet:EmployeeRegistrationServlet、EmployeeSearchServlet
- Bean:员工
EmployeeInfo.jsp 文件。它有两个提交按钮。如果用户想要搜索员工,则输入一个ID,它将调用EmployeeSearchServlet,如果用户想要添加新的员工信息,那么将调用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来查找员工呢? 请给我一些建议。非常感谢。
最佳答案
My question is how to use EmployeeDetail.jsp read bean object passed from EmployeeRegistrationServlet?
您需要将请求/ session 属性中的对象设置为可用于转发的jsp
how to Find an employee by searching the employee ID?
取决于你的数据存储,例如如果你使用mysql,你需要使用jdbc和查询来按id获取记录
<小时/>查看
关于java - 如何从servlet读取数据并将数据传递到JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22571508/