나는 bookid를 기반으로하는 책리스트를 얻고있다. 에 geting 목록arraylist에 하나씩 오브젝트를 추가하여 완전한리스트를 만드는 방법
코드 :
Bookdetails book=new Bookdetails();book = dao.listBookDetailsById(Integer.parseInt(bookid));
의 ID를 기반으로 한 책에 geting 후, 나는 목록과 동일한 목록 내가 세션에서 퍼팅 내 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 개만 추가됩니다. 사용자가 arraylist에 추가 할 다른 책 ID를 전달하면 이전 책과 함께 목록에 삽입하지 않습니다. 내 목록 크기가 항상 1로 표시됩니다.
사용자가 bookid를 내 액션 수업에 전달할 때 해당 책의 ID를 기반으로 모든 책을 arraylist에 삽입하고 싶습니다.
이 문제를 해결하는 데 도움을주십시오.
전체 Action 클래스 코드 :
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;
}
}
여전히 문제가 있습니다. –
도와주세요. 나는 아침부터 그것을 시도하고있다. 네가 나를 위해 대답을 쓴 것은 완전히 옳지 않다. 내 debbuger가'books.add (book);에 도달하면이 코드는'dlctly return SUCCUSS; '에 전달됩니다. 새 데이터가 세션에 추가되지 않습니다. –