0

我是编程新手,这个问题连续困扰了我 3 天......

我在 .jsp 网站上有一个用于收集姓名、姓氏、邮件等的帖子表单,所有这些信息都保存在对象 USER 中。我想将用户保存在数组中并将它们显示在同一站点上。但是每次我在表单中使用提交按钮时都会创建新会话,并且数组输出信息只有一个用户。我应该怎么做才能解决这个问题?ps:在这个阶段我不能使用sql,因为它是学校项目

<% Uporabnik uporabnik = new Uporabnik(); //user
   uporabnik.setIme(request.getParameter("ime"));
   uporabnik.setPriimek(request.getParameter("priimek"));
   uporabnik.setEmail(request.getParameter("email"));
   uporabnik.setKraj(request.getParameter("kraj"));
   uporabnik.setPostnaStevilka(request.getParameter("postnaStevilka"));

   ArrayList<Uporabnik> seznamUporabnikov = new ArrayList<Uporabnik>(); //array with i want to display
   seznamUporabnikov.add(uporabnik);
   session.setAttribute("seznamUporabnikov", seznamUporabnikov); %>

   <form method="post" action="Registracija.jsp">
     Ime: <input type="text" name="ime"/> <br/>
     Priimek: <input type="text" name="priimek"/> <br/>
     Email: <input type="text" name="email"/> <br/>
     Kraj: <input type="text" name="kraj"/> <br/>
     Postna stevilka: <input type="text" name="postnaStevilka"/> <br/>
     <input type="submit" name="potrdi" value="Vnesi">
     <input type="reset" name="tabelaReset" value="Izbrisi iz tabele">
     <input type="submit" name="resetiraj" value="Izbrisi podatke">
   </form>

   <br/> Seja: <%=session.getAttribute("Oseba")%> <hr/>

   <% if (request.getParameter("potrdi")!=null) {
         session.setAttribute("Oseba", uporabnik);
      } %>
   <% if (request.getParameter("resetiraj")!=null) {
         session.setAttribute("Oseba", null);
      } %>
4

3 回答 3

0

更改这些行:

...
 ArrayList seznamUporabnikov = new ArrayList(); //array with i want to display
 seznamUporabnikov.add(uporabnik);
 session.setAttribute("seznamUporabnikov", seznamUporabnikov);
...
...
 ArrayList seznamUporabnikov=session.getAttribute("seznamUporabnikov");
 if(seznamUporabnikov == null) { //check if already in session before creating.
   ArrayList seznamUporabnikov = new ArrayList(); //array with i want to display
 }
 seznamUporabnikov.add(uporabnik);
 session.setAttribute("seznamUporabnikov", seznamUporabnikov);
...

于 2013-05-25T13:48:12.907 回答
0

创建一个类并在该类下创建一个静态用户列表,并将所有用户添加到该列表中,该列表将在您的应用程序生命周期中可用。

于 2013-05-25T18:11:16.600 回答
0

好的 4 天后,这东西现在可以工作了!!!我很高兴:) 无论如何.. 谢谢你们让我走上正轨...

ArrayList<Uporabnik> seznamUporabnikov=null;
//check if already in session before creating.  
if(session.getAttribute("seznamUporabnikov") == null) {        
    seznamUporabnikov = new ArrayList<Uporabnik>(); 
    //array which I want to display
    session.setAttribute("seznamUporabnikov", seznamUporabnikov);   
} else {
    seznamUporabnikov = 
                 (ArrayList<Uporabnik>)session.getAttribute("seznamUporabnikov");
}

if (request.getParameter("potrdi") != null) {
    seznamUporabnikov.add(uporabnik);
}


session.setAttribute("seznamUporabnikov", seznamUporabnikov);
于 2013-05-27T09:29:01.183 回答