categorymodsubaction.java

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

JAVA
87
字号
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_modsub" name="categoryForm" input="/category_mod.jsp" scope="request" validate="true"
 * @struts.action-forward name="success" path="/category_optresult.jsp"
 * @struts.action-forward name="failure" path="/category_mod.jsp"
 */
public class CategoryModSubAction extends Action {
	private static final Log log = LogFactory.getLog(CategoryModSubAction.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.modCategory(category);
			} catch (ActionException e) {
				//分类修改错误
				if(e instanceof ExistNameActionException){
					
					try {
						Category parentcategory = bookservice.getCategory(category.getParentNo());
						if(parentcategory == null){
							parentcategory = new Category();
							parentcategory.setName("根分类");
						}
						request.setAttribute("parentname", parentcategory.getName());
						request.setAttribute("category", category);
					} 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 + -
显示快捷键?