【问题标题】:pass object from servlet to another java [duplicate]将对象从 servlet 传递到另一个 java [重复]
【发布时间】:2021-03-07 06:54:42
【问题描述】:

我有一个迷你 JEE 应用程序,它有两个视图:注册表单,然后另一个 jsp 显示所有注册用户。 我创建了两个 jsp 文件:第一个是表格,第二个是表格。 我还创建了两个 servlet,一个用于第一个 jsp,另一个用于第二个。 当我从第一个视图提交信息(姓名、电子邮件、电话和消息)时,我可以从第一个 servlet 获取它,然后再次将其显示到 jsp1,所以我现在确信我可以作为用户成功地从 jsp 表单获取数据目的。 我的问题是我不知道如何使用 servlet2 和 javabean2 在第二个 jsp 中显示所有用户 第一个 servlet:

package com.TP.servlets;

import java.io.IOException;
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 com.TP.beans.SaisieBean;

/**
 * Servlet implementation class Saisie
 */
@WebServlet("/Saisie")
public class Saisie extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public Saisie() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        this.getServletContext().getRequestDispatcher("/saisiedemande/index.jsp").forward(request, response);

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        SaisieBean user = new SaisieBean();
        
        String name = request.getParameter("name");
        String email = request.getParameter("email");
        String phone = request.getParameter("phone");
        String message = request.getParameter("message");
        
        user.setName(name);
        user.setEmail(email);
        user.setPhone(phone);
        user.setMessage(message);
        
        //request.setAttribute("user", user);
        //this.getServletContext().getRequestDispatcher("/recherchedemande/index.jsp").forward(request, response);
        request.getSession().setAttribute("user", user);
        this.getServletContext().getRequestDispatcher("/saisiedemande/index.jsp").forward(request, response);
    }

}

第一个javaBean:

 package com.TP.beans;

public class SaisieBean {
    private String name;
    private String email; 
    private String phone;
    private String message;
    public String getName() {
        return name;
    }
    public String getEmail() {
        return email;
    }
    public String getPhone() {
        return phone;
    }
    public String getMessage() {
        return message;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public void setMessage(String message) {
        this.message = message;
    }

    
    
}

感谢您为我的问题提供解决方案

【问题讨论】:

    标签: java jsp servlets jakarta-ee web-applications


    【解决方案1】:

    我可以看到你已经在会话中设置了用户对象。如果我理解,您想在 jsp 页面中显示用户列表。如果是,您可以创建一个 List(ArrayList 或 LinkedList)并将其保存在 Session 或 context 范围内。

    现在您可以在 servlet 中获取您正在创建用户对象的列表并将此用户对象添加到您的列表中。

    在您的 JSP 页面上,您可以使用 JSTL 从上下文中遍历此列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-04
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多