我有一堂课,我正在根据它的 bookid 获取书单。
获取列表的代码:
Bookdetails book=new Bookdetails();book = dao.listBookDetailsById(Integer.parseInt(bookid));
在根据其 Id 获得一本书后,我将该书插入到一个列表中,并且我正在将其放入会话中并将其返回到我的 jsp 页面。
将书插入列表的代码 `
for(int i=1;i<=1;i++)
{
book = dao.listBookDetailsById(Integer.parseInt(bookid));
books.add(book);
}
session.put(BillTransactionBooksConstants.BOK, books );
lists = (List) session.get( BillTransactionBooksConstants.BOK );
System.out.println(lists.size()); `
注意:每次用户单击我的 jsp 页面中的一行时,bookid 都会出现在我的操作类中
但我的问题是:当我尝试将书籍添加到列表中时,它只会将 1 本书添加到列表中。当用户传递另一本书 id 以添加到 arraylist 时,它不会与前一个一起插入到列表中。我的列表大小始终显示为 1。
当用户将 bookid 传递给我的操作类时,我想根据这些书籍的 id 将所有书籍插入到数组列表中。
请帮我解决这个问题。
完整的动作类代码:
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;
}
}