bookaddsubaction.java

来自「一个基本的图书馆管理系统」· Java 代码 · 共 73 行

JAVA
73
字号
package c18.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import c18.entity.Book;
import c18.service.BookService;
import c18.service.BookServiceImpl;
import c18.session.UserSession;
import c18.struts.action.exception.ActionException;
import c18.struts.action.exception.SaveBookImageFailActionException;
import c18.struts.form.BookForm;

/** 
 * 
 * 添加图书Action类
 * @struts.action path="/book_addsub" name="bookForm" input="/book_add.jsp" scope="request" validate="true"
 * @struts.action-forward name="success" path="/book_optresult.jsp"
 */
public class BookAddSubAction extends Action {
	private static final Log log = LogFactory.getLog(BookAddSubAction.class);

	/** 
	 * Method execute
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return ActionForward
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		//判断是否管理员
		if(!UserSession.isManager(request, response)){
			return mapping.findForward("/main");
		}
		
		if(form instanceof BookForm){
			BookForm bookform = (BookForm)form;
            //从bookform中得到图书信息
			Book book = bookform.getBook();
			//取当前web应用根路径
			String filePath = this.getServlet().getServletContext().getRealPath("/"); 
			
			try {
				//保存图书信息
				BookService bookservice = new BookServiceImpl();
				bookservice.addBook(book, bookform.getImageFile(), filePath, bookform.getIntCategoryNos());
			} catch (ActionException e) {
				//图片增加错误
				if(e instanceof SaveBookImageFailActionException){
					request.setAttribute("errorString", e.getExceptionString());
					return mapping.findForward("success");
				}
				
				log.error(e);
			}
			
		}else{
			request.setAttribute("errorString", "图书内容有误,请重新输入");
		}
		
		return mapping.findForward("success");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?