如何在一个方法内将对象存入list中,放入session,再次执行该方法如何将新的对象继续存入?

1.在执行方法SavaQuestion,定义一个list对象 questionNaireQuestionslist
2.再将questionNaireQuestion对象放入这个list对象questionNaireQuestionslist中
3.将list对象questionNaireQuestionslist保存入session中,将questionNaireQuestion保存入session中
4.如何再次执行这个方法SavaQuestion,将新的questionNaireQuesion对象存入list中
5.我每次将新的questionNaireQuesion对象存入list中时都会覆盖原有的,list对象questionNaireQuestionslist永远只有一个元素

public String saveQuestion(HttpServletRequest request) {
   List<QuestionNaireQuestion> questionNaireQuestionslist = new ArrayList<QuestionNaireQuestion>();
        QuestionNaireQuestion questionNaireQuestion = new QuestionNaireQuestion();
                //......
                 questionNaireQuestionslist.add(questionNaireQuestion);
                 //将List对象questionNaireQuestionslist存入session中
                request.getSession().setAttribute("questionNaireQuestionslist", questionNaireQuestionslist);
                 //将questionNaireQuestion对象存入session中
                 request.getSession().setAttribute("questionNaireQuestion", questionNaireQuestion);

3个回答

你原来在方法中每次调用方法都会新建一个list。所以每一次元素都是当次的元素。把list作为类的全局变量,list就可以增加了

u013400939
Logica_ 成功了!!!!感谢
5 年多之前 回复

List questionNaireQuestionslist = new ArrayList();
将list作为类的全局变量。如果是所有人共用一个还需要static

u013400939
Logica_ questionNaireQuestionslist 中的元素没有增加,而是覆盖了
5 年多之前 回复
u013400939
Logica_ 我是再次执行这个方法,将新的questionNaireQuestion 放入questionNaireQuestionslist 怎么办
5 年多之前 回复

我建议你加个判断 public String saveQuestion(HttpServletRequest request) {
List questionNaireQuestionslist = (List())request.getSession().getAttribute("questionNaireQuestionslist");
QuestionNaireQuestion questionNaireQuestion = new QuestionNaireQuestion();
//......
if (questionNaireQuestionslist==null) {
questionNaireQuestionslist = new ArrayList();
}
questionNaireQuestionslist.add(questionNaireQuestion);
//将List对象questionNaireQuestionslist存入session中
request.getSession().setAttribute("questionNaireQuestionslist", questionNaireQuestionslist);
//将questionNaireQuestion对象存入session中
request.getSession().setAttribute("questionNaireQuestion", questionNaireQuestion);
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐