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

📄 weblogentryformaction.java

📁 这个weblogging 设计得比较精巧
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
package org.roller.presentation.weblog.actions;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.net.URLEncoder;import java.sql.Timestamp;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.Iterator;import java.util.List;import java.util.ListIterator;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import org.apache.commons.lang.StringUtils;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;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.apache.struts.action.ActionMessage;import org.apache.struts.action.ActionMessages;import org.apache.struts.actions.DispatchAction;import org.roller.RollerException;import org.roller.RollerPermissionsException;import org.roller.model.IndexManager;import org.roller.model.Roller;import org.roller.model.RollerSpellCheck;import org.roller.model.UserManager;import org.roller.model.WeblogManager;import org.roller.pojos.CommentData;import org.roller.pojos.UserData;import org.roller.pojos.WeblogEntryData;import org.roller.pojos.WebsiteData;import org.roller.presentation.MainPageAction;import org.roller.presentation.RollerContext;import org.roller.presentation.RollerRequest;import org.roller.presentation.pagecache.PageCacheFilter;import org.roller.presentation.velocity.PageHelper;import org.roller.presentation.weblog.formbeans.WeblogEntryFormEx;import org.roller.util.Utilities;import com.swabunga.spell.event.SpellCheckEvent;//////////////////////////////////////////////////////////////////////////////** * Supports Weblog Entry form actions edit, remove, update, etc. * * @struts.action name="weblogEntryFormEx" path="/editor/weblog" *     scope="request" parameter="method" *   * @struts.action-forward name="weblogEdit.page" path="/weblog/WeblogEdit.jsp" * @struts.action-forward name="weblogEntryRemove.page" path="/weblog/WeblogEntryRemove.jsp" */public final class WeblogEntryFormAction extends DispatchAction{    private static Log mLogger =        LogFactory.getFactory().getInstance(WeblogEntryFormAction.class);        //-----------------------------------------------------------------------    /**     * Allow user to create a new weblog entry.     */    public ActionForward create(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {        ActionForward forward = mapping.findForward("weblogEdit.page");        try        {            RollerRequest rreq = RollerRequest.getRollerRequest(request);            if ( rreq.isUserAuthorizedToEdit() )            {                WeblogEntryFormEx form = (WeblogEntryFormEx)actionForm;                 form.initNew(request, response);                                request.setAttribute("model",                        new WeblogEntryPageModel(request, response, mapping,                                (WeblogEntryFormEx)actionForm,                                WeblogEntryPageModel.EDIT_MODE));            }            else            {                forward = mapping.findForward("access-denied");            }        }        catch (Exception e)        {            request.getSession().getServletContext().log("ERROR",e);            throw new ServletException(e);        }        return forward;    }    //-----------------------------------------------------------------------    /**     * Allow user to edit a weblog entry.     */    public ActionForward edit(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {        ActionForward forward = mapping.findForward("weblogEdit.page");        try        {            RollerRequest rreq = RollerRequest.getRollerRequest(request);            if ( rreq.isUserAuthorizedToEdit() )            {                WeblogManager wmgr = rreq.getRoller().getWeblogManager();                WeblogEntryData entry = rreq.getWeblogEntry();                WeblogEntryFormEx form = (WeblogEntryFormEx)actionForm;                if (entry == null && form.getId() != null)                {                    entry= wmgr.retrieveWeblogEntry(form.getId());                }                form.copyFrom(entry, request.getLocale());                request.setAttribute("model",                        new WeblogEntryPageModel(request, response, mapping,                                form, WeblogEntryPageModel.EDIT_MODE));            }            else            {                forward = mapping.findForward("access-denied");            }        }        catch (Exception e)        {            request.getSession().getServletContext().log("ERROR",e);            throw new ServletException(e);        }        return forward;    }    //-----------------------------------------------------------------------    public ActionForward preview(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {           // we need to save any new entries before Previewing        WeblogEntryFormEx form = (WeblogEntryFormEx)actionForm;        if (form.getId() == null)         {            save(mapping, actionForm, request, response);        }        return display(WeblogEntryPageModel.PREVIEW_MODE,                     mapping, actionForm, request, response);    }    //-----------------------------------------------------------------------    public ActionForward returnToEditMode(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {        return display(WeblogEntryPageModel.EDIT_MODE,                     mapping, actionForm, request, response);    }    //-----------------------------------------------------------------------    private ActionForward display(        WeblogEntryPageModel.PageMode mode,        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {        ActionForward forward = mapping.findForward("weblogEdit.page");        try        {            RollerRequest rreq = RollerRequest.getRollerRequest(request);            if ( rreq.isUserAuthorizedToEdit() )            {                request.setAttribute("model",                   new WeblogEntryPageModel(request, response, mapping,                            (WeblogEntryFormEx)actionForm, mode));            }            else            {                forward = mapping.findForward("access-denied");            }        }        catch (Exception e)        {            request.getSession().getServletContext().log("ERROR",e);            throw new ServletException(e);        }        return forward;    }    //-----------------------------------------------------------------------    /**     * Saves weblog entry and flushes page cache so that new entry will appear      * on users weblog page.     */    public ActionForward save(        ActionMapping       mapping,        ActionForm          actionForm,        HttpServletRequest  request,        HttpServletResponse response)        throws IOException, ServletException    {        ActionForward forward = mapping.findForward("weblogEdit.page");        ActionMessages uiMessages = new ActionMessages();        try        {            RollerRequest rreq = RollerRequest.getRollerRequest(request);            if ( rreq.isUserAuthorizedToEdit() )            {                UserManager userMgr = rreq.getRoller().getUserManager();                WeblogManager weblogMgr = rreq.getRoller().getWeblogManager();                UserData user = rreq.getUser();                WebsiteData site = userMgr.getWebsite( user.getUserName() );                WeblogEntryFormEx wf = (WeblogEntryFormEx)actionForm;                                // I was getting column 'x' cannot be null, so I fixed it here.                // A better solution might be to change the table so it allows                // nulls for these columns.                if (wf.getAllowComments() == null)                {                	wf.setAllowComments(Boolean.FALSE);                }                if (wf.getRightToLeft() == null)                {                    wf.setRightToLeft(Boolean.FALSE);                }                if (wf.getPinnedToMain() == null)                {                    wf.setPinnedToMain(Boolean.FALSE);                }                if (wf.getPublishEntry() == null)                {                    wf.setPublishEntry(Boolean.FALSE);                }                               WeblogEntryData entry = null;                if (wf.getId() == null || wf.getId().trim().length()==0)                 {                    entry = new WeblogEntryData();                      entry.setWebsite( site );                }                else                 {                    entry = weblogMgr.retrieveWeblogEntry(wf.getId());                    entry.save(); // should throw if save not permitted                }                wf.copyTo(entry, request.getLocale(), request.getParameterMap());                // Fetch MediaCast content type and length                mLogger.debug("Checking MediaCast attributes");                if (!checkMediaCast(entry))                 {                   mLogger.debug("Invalid MediaCast attributes");                   uiMessages.add(null,                      new ActionMessage("weblogEdit.message.mediaCastProblem"));                }                else if (mLogger.isDebugEnabled())                 {                   mLogger.debug("Invalid MediaCast attributes");                }                                // Store value object (creates new or updates existing)                entry.setUpdateTime(new Timestamp(new Date().getTime()));                mLogger.debug("Saving entry");

⌨️ 快捷键说明

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