foldersaveaction.java

来自「这个weblogging 设计得比较精巧」· Java 代码 · 共 105 行

JAVA
105
字号
/* * Created on Oct 21, 2003 */package org.roller.presentation.bookmarks.actions;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionError;import org.apache.struts.action.ActionErrors;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import org.roller.RollerException;import org.roller.RollerPermissionsException;import org.roller.model.BookmarkManager;import org.roller.pojos.FolderData;import org.roller.pojos.WebsiteData;import org.roller.presentation.RollerRequest;import org.roller.presentation.bookmarks.formbeans.FolderFormEx;/** * @struts.action path="/editor/folderSave" name="folderFormEx"  *     validate="true" input="/editor/folderEdit.do" * @struts.action-forward name="Bookmarks" path="/editor/bookmarks.do?method=selectFolder" *  * @author Dave Johnson */public class FolderSaveAction extends Action{    public ActionForward execute(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws Exception    {        ActionForward forward = mapping.findForward("Bookmarks");        FolderFormEx form = (FolderFormEx)actionForm;        RollerRequest rreq = RollerRequest.getRollerRequest(request);        WebsiteData wd = rreq.getWebsite();        BookmarkManager bmgr = rreq.getRoller().getBookmarkManager();                FolderData fd = null;        if (null != form.getId() && !form.getId().trim().equals(""))         {            fd = bmgr.retrieveFolder(form.getId());            fd.save(); // should throw if save not permitted        }        else         {            fd = bmgr.createFolder();                    String parentId = request.getParameter(RollerRequest.PARENTID_KEY);            FolderData parent = null;            if (null != parentId && !parentId.trim().equalsIgnoreCase("null"))            {                parent = bmgr.retrieveFolder(parentId);            }            else             {                parent = bmgr.getRootFolder(wd);            }            fd.setParent(parent);            fd.setWebsite(wd);        }                // Copy form values to object        form.copyTo(fd, request.getLocale());                    try         {            // Store object and commit            fd.save();            rreq.getRoller().commit();        }        catch (RollerPermissionsException e)        {            ActionErrors errors = new ActionErrors();            errors.add(null, new ActionError("error.permissions.deniedSave"));            saveErrors(request, errors);            forward = mapping.findForward("access-denied");        }        catch (RollerException re)        {            rreq.getRoller().rollback();            ActionErrors errors = new ActionErrors();            String msg = (null != re.getRootCause())                ? re.getRootCause().toString()                : re.toString();            errors.add(ActionErrors.GLOBAL_ERROR,                new ActionError("folderForm.save.exception", msg));            saveErrors(request,errors);                    }                 if (null != fd.getParent())         {            request.setAttribute(               RollerRequest.FOLDERID_KEY, fd.getParent().getId());        }                 return forward;    }}

⌨️ 快捷键说明

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