有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在一个会话中为每个请求逐个存储多个对象?

我正在为一个应用程序工作,在这个应用程序中,我必须为每个请求发送一个对象。我必须将整个数据存储在会话变量中。我该怎么做?我将数据发送到控制器并创建对象,然后尝试存储在会话中,但它不工作,这是我的代码

MemberDependentBO memberdepinfo = new MemberDependentBO();

        memberdepinfo.setFirstName(getMemberFirstName().getValue().toString());
        memberdepinfo.setLastName(getMemberLastName().getValue().toString());
        memberdepinfo.setMiddleName(getMemberMiddleName().getValue().toString());
        memberdepinfo.setPassport(getMemberPassportNumber().getValue().toString());

    List<MemberDependentBO> listOfMemberAndDep = new ArrayList<MemberDependentBO>();

        listOfMemberAndDep.add(memberdepinfo);

        httpSession.setAttribute("insuredInfo", listOfMemberAndDep);

        System.out.println("List Size :"+listOfMemberAndDep.size());

Every time when i click the button,the object is coming from the controller .but each time i am getting the size of the list is 1.Any Help will be appreciated


共 (1) 个答案

  1. # 1 楼答案

    首先尝试将listOfMemberAndDep从当前会话中拉出。如果不存在,请创建它,添加memberdepinfo并保存在会话中。如果确实存在,只需添加memberdepinfo并在会话中重新保存即可。像这样的

    List<MemberDependentBO> listOfMemberAndDep = (List<MemberDependentBO>)httpSession.getAttribute("insuredInfo");
    
    if(listOfMemberAndDep == null){
        listOfMemberAndDep = new ArrayList<MemberDependentBO>();
    }
    
    MemberDependentBO memberdepinfo = new MemberDependentBO();
    memberdepinfo.setFirstName(getMemberFirstName().getValue().toString());
    memberdepinfo.setLastName(getMemberLastName().getValue().toString());
    memberdepinfo.setMiddleName(getMemberMiddleName().getValue().toString());
    memberdepinfo.setPassport(getMemberPassportNumber().getValue().toString();
    
    listOfMemberAndDep.add(memberdepinfo);
    httpSession.setAttribute("insuredInfo", listOfMemberAndDep);
    System.out.println("List Size :"+listOfMemberAndDep.size());