Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在arraylist中逐个添加对象以形成完整的列表_Java_List_Jsp_Struts2_Arraylist - Fatal编程技术网

Java 如何在arraylist中逐个添加对象以形成完整的列表

Java 如何在arraylist中逐个添加对象以形成完整的列表,java,list,jsp,struts2,arraylist,Java,List,Jsp,Struts2,Arraylist,我有一个班级,我正在根据他们的图书ID获取图书列表 获取列表的代码: Bookdetails book=newbookdetails();book=dao.listBookDetailsById(Integer.parseInt(bookid)) 在根据其Id获取一本书之后,我将该书插入一个列表和我在会话中放入的相同列表,并将其返回到我的jsp页面 将书籍插入列表的代码 ` for(int i=1;i问题在于您没有从会话加载列表,因此每次有新请求时,您都会创建一个新列表 编辑:第一次尝试从会话加

我有一个班级,我正在根据他们的图书ID获取图书列表

获取列表的代码:
Bookdetails book=newbookdetails();book=dao.listBookDetailsById(Integer.parseInt(bookid))

在根据其Id获取一本书之后,我将该书插入一个列表和我在会话中放入的相同列表,并将其返回到我的jsp页面

将书籍插入列表的代码 `


for(int i=1;i问题在于您没有从会话加载列表,因此每次有新请求时,您都会创建一个新列表

编辑:第一次尝试从会话加载列表时,没有注意到,因此我们需要创建ArrayList。您可以在一些初始化例程中执行此操作,但下面的代码提供了一个很好的解决方法

试试这个:

books = (List) session.get( BillTransactionBooksConstants.BOK );

if ( books == null ) books = new ArrayList<Bookdetails>();

book = dao.listBookDetailsById(Integer.parseInt(bookid));   
books.add(book);
session.put(BillTransactionBooksConstants.BOK, books );
books=(List)session.get(BillTransactionBooksConstants.BOK);
如果(books==null)books=newarraylist();
book=dao.listBookDetailsById(Integer.parseInt(bookid));
图书。添加(图书);
session.put(billtransactionbookstants.BOK,books);

希望它能起作用。

请帮助我。我从早上就开始尝试。你为我写的答案不完全正确。当我的debbuger到达'books.add(book);'此代码时,它会直接转发到
return succus;
。新数据不会添加到会话中。
import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts2.ServletActionContext;

    import v.esoft.actions.interceptor.VisionBooksConstants;
    import v.esoft.dao.BookdetailsDAO.BookdetailsDAO;
    import v.esoft.pojos.Bookdetails;

    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionSupport;

    public class AddBookToSession extends ActionSupport {
         Bookdetails book=new Bookdetails();
            List<Bookdetails> books = new ArrayList<Bookdetails>();
            List<Bookdetails> lists = new ArrayList<Bookdetails>();
            BookdetailsDAO dao = new BookdetailsDAO(); 
    Map session = ActionContext.getContext().getSession();

        @SuppressWarnings("unchecked")
        public String execute()
        { 
            HttpServletRequest request = ServletActionContext.getRequest();


            String bookid = request.getParameter("bid");  


            System.out.println("---------------Bookid-"+bookid);


            for(int i=1;i<=1;i++)
            {
              book = dao.listBookDetailsById(Integer.parseInt(bookid));   
              System.out.println("---------------Bookid-"+book); 
              books.add(book);
            }
                 session.put(BillTransactionBooksConstants.BOK, books );
                 lists = (List) session.get( BillTransactionBooksConstants.BOK );
                  System.out.println(lists.size()); 

            return SUCCESS;
        }

        public Bookdetails getBook() {
            return book;
        }

        public void setBook(Bookdetails book) {
            this.book = book;
        }

        public List<Bookdetails> getBooks() {
            return books;
        }

        public void setBooks(List<Bookdetails> books) {
            this.books = books;
        }

        public List<Bookdetails> getLists() {
            return lists;
        }

        public void setLists(List<Bookdetails> lists) {
            this.lists = lists;
        }   
    }
books = (List) session.get( BillTransactionBooksConstants.BOK );

if ( books == null ) books = new ArrayList<Bookdetails>();

book = dao.listBookDetailsById(Integer.parseInt(bookid));   
books.add(book);
session.put(BillTransactionBooksConstants.BOK, books );