package action;
import Bean.Book;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts2.ServletActionContext;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import java.awt.*;
import java.util.ArrayList;
public class BookAction extends ActionSupport implements ModelDriven {
private Book books = new Book();
private ArrayList<Book> book_list;
public String bookkey="";
public String deleteBookId="";
@Override
public Object getModel() {
// TODO Auto-generated method stub
return books;
}
public String Add() {
try {
if (ServletActionContext.getServletContext().getAttribute("booklist") == null) {//一本书都没有的时候
book_list = new ArrayList<Book>();
books.setBookId(0);
book_list.add(0, books);
ServletActionContext.getServletContext().setAttribute("booklist", book_list);
} else {
book_list = (ArrayList<Book>) ServletActionContext.getServletContext().getAttribute("booklist");
books.setBookId(book_list.size());
// String statecode=check(books);
// if (statecode!=null){//不合法,阻断操作
// addActionMessage(statecode);
//
//
// //弹回书籍信息
// HttpServletRequest request=ServletActionContext.getRequest();
// request.setAttribute("errbook", books);
// return "input";
// }
book_list.add(book_list.size(), books);
System.out.print("图书:"+books.getBookName()+"\n"+books.getAuthor()+"\n"+books.getImage()+"\n"+books.getPrice());
ServletActionContext.getServletContext().setAttribute("booklist", book_list);
}
return SUCCESS;
} catch (Exception exp) {
System.out.print(exp.getCause());
return ERROR;
}
}
private String check(Book book){//检查信息并返回错误信息
String result="";
if (book.getBookName()==null||book.getBookName().equals(""))
result="书名不合法";
return result;
}
public String getBooklist() {
try{
book_list=(ArrayList<Book>) ServletActionContext.getServletContext().getAttribute("booklist");
ServletActionContext.getRequest().setAttribute("bookdata", book_list);
return "selected";}
catch (Exception e){
return "error";
}
}
public void setBook_list(ArrayList<Book> book_list) {
this.book_list = book_list;
}
public String Edit() {
try {
return SUCCESS;
} catch (Exception exp) {
return ERROR;
}
}
public String delete(){
System.out.print("需要删除的书的信息如下"+deleteBookId);
book_list=(ArrayList<Book>) ServletActionContext.getServletContext().getAttribute("booklist");
ArrayList<Book> newbook_list=new ArrayList<>();
for (Book i:book_list) {
if (!deleteBookId.equals(""+i.getBookId())){
newbook_list.add(i);
}
System.out.print("书名"+i.getBookName());
}
ServletActionContext.getServletContext().setAttribute("booklist", newbook_list);
return "deletesuccess";
}
public void setBookkey(String bookkey) {
this.bookkey = bookkey;
}
}