categoryaddsubaction.java

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

JAVA
88
字号
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.Category;
import c18.service.BookService;
import c18.service.BookServiceImpl;
import c18.session.UserSession;
import c18.struts.action.exception.ActionException;
import c18.struts.action.exception.ExistNameActionException;
import c18.struts.form.CategoryForm;

/** 
 * 
 * 分类增加Action类
 * @struts.action path="/category_addsub" name="categoryForm" input="/category_add.jsp" scope="request" validate="true"
 * @struts.action-forward name="success" path="/category_optresult.jsp"
 * @struts.action-forward name="failure" path="/category_add.jsp"
 */
public class CategoryAddSubAction extends Action {
	private static final Log log = LogFactory.getLog(CategoryAddSubAction.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 CategoryForm){
			CategoryForm categoryform = (CategoryForm)form;
			//得到分类信息
			Category category = categoryform.getCategory();
			
			BookService bookservice = new BookServiceImpl();
			try {
				//保存分类信息
				bookservice.addCategory(category);
			} catch (ActionException e) {
				//分类增加错误
				if(e instanceof ExistNameActionException){
					
					try {
						Category parentcategory = bookservice.getCategory(category.getParentNo());
						if(parentcategory == null){
							parentcategory = new Category();
							parentcategory.setName("根分类");
							parentcategory.setCategoryNo(0);
						}
						request.setAttribute("parentname", parentcategory.getName());
						request.setAttribute("parentNo", parentcategory.getCategoryNo());
					} catch (ActionException e1) {
						log.error(e1);
					}
					
					request.setAttribute("errorString", e.getExceptionString());
					return mapping.findForward("failure");
				}
				
				log.error(e);
			}
			
		}else{
			request.setAttribute("errorString", "分类内容有误,请重新输入");
			return mapping.findForward("failure");
		}
		
		
		return mapping.findForward("success");
	}
}

⌨️ 快捷键说明

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