⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 categorydeleteaction.java

📁 这个weblogging 设计得比较精巧
💻 JAVA
字号:
/* * Created on Oct 21, 2003 */package org.roller.presentation.weblog.actions;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 org.roller.model.WeblogManager;import org.roller.pojos.WeblogCategoryData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerRequest;import org.roller.presentation.weblog.formbeans.CategoryDeleteForm;import java.util.Iterator;import java.util.LinkedList;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * @struts.action path="/editor/categoryDelete" name="categoryDeleteForm" * @struts.action-forward name="Categories" path="/editor/categories.do?method=selectCategory" * @struts.action-forward name="CategoryDeleteOK" path="/weblog/CategoryDeleteOK.jsp" *  * @author Dave Johnson */public class CategoryDeleteAction extends Action{    public ActionForward execute(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws Exception    {        ActionForward forward = null;        CategoryDeleteForm form = (CategoryDeleteForm)actionForm;        RollerRequest rreq = RollerRequest.getRollerRequest(request);        WeblogManager wmgr = rreq.getRoller().getWeblogManager();                if (rreq.isUserAuthorizedToEdit())        {            String catid = request.getParameter("catid");            WeblogCategoryData catToDelete =                 wmgr.retrieveWeblogCategory(catid);            String returnId = null;            if (catToDelete.getParent() != null)            {                returnId = catToDelete.getParent().getId();            }            if (form.isDelete() == null)            {                // Present CategoryDeleteOK? page to user                WebsiteData website = rreq.getWebsite();                WeblogCategoryData theCat = wmgr.retrieveWeblogCategory(catid);                Iterator allCats =                     wmgr.getWeblogCategories(website).iterator();                List destCats = new LinkedList();                while (allCats.hasNext())                {                    WeblogCategoryData cat = (WeblogCategoryData)allCats.next();                    // Allow entries to be moved to any other category except                     // root and the sub-cats of the category being deleted.                    if (!cat.getId().equals(catid)                         && cat.getParent()!=null                        && !cat.descendentOf(catToDelete))                    {                        destCats.add(cat);                    }                                    }                if (destCats.size() > 0)                {                    form.setName(theCat.getName());                    form.setCatid(catid);                    form.setCats(destCats);                    form.setInUse(Boolean.valueOf(catToDelete.isInUse()));                    forward = mapping.findForward("CategoryDeleteOK");                }                else                {                    // Can't delete last category, send 'em back!                    if (null != returnId)                     {                        request.setAttribute(                                RollerRequest.WEBLOGCATEGORYID_KEY, returnId);                    }                                   forward = mapping.findForward("Categories");                }            }            else if (form.isDelete().booleanValue())             {                // User clicked YES to delete                WeblogCategoryData destCat = null;                if (form.getMoveToWeblogCategoryId() != null)                 {                    destCat = wmgr.retrieveWeblogCategory(form.getMoveToWeblogCategoryId());                }                                  // move entries to destCat and remove catToDelete                catToDelete.remove(destCat);                                rreq.getRoller().commit();                                if (null != returnId)                 {                    request.setAttribute(                        RollerRequest.WEBLOGCATEGORYID_KEY, returnId);                }                               forward = mapping.findForward("Categories");            }            else             {                // User clicked NO to delete, do back to categories form                if (null != returnId)                 {                    request.setAttribute(                       RollerRequest.WEBLOGCATEGORYID_KEY, returnId);                }                               forward = mapping.findForward("Categories");               }        }        else        {            forward = mapping.findForward("access-denied");        }        return forward;    }}

⌨️ 快捷键说明

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