对象进入数组JSP

时间:2013-05-25 11:36:52

标签: java jsp

我是编程新手,这个问题困扰我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);
      } %>

3 个答案:

答案 0 :(得分: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);
...

答案 1 :(得分:0)

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

答案 2 :(得分: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);