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

📄 articleaction.java

📁 Jaoso新闻文章发布系统 0.9.1final 程序架构: Struts+Spring+Hibernate 主要功能:   ·新闻采用在线编辑器,可以象使用word一样编辑新闻,可简繁
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package jaoso.news.web.action;

import jaoso.count.domain.Count;

import jaoso.count.service.CountService;

import jaoso.count.web.listener.CountListener;

import jaoso.framework.domain.Account;

import jaoso.framework.service.SecurityService;

import jaoso.framework.util.EncodingConvert;
import jaoso.framework.util.MyUtils;
import jaoso.framework.util.UploadFile;

import jaoso.framework.web.action.BaseAction;

import jaoso.news.domain.Article;
import jaoso.news.domain.Catalog;
import jaoso.news.domain.Critic;

import jaoso.news.exception.ArticleExistException;

import jaoso.news.service.ArticleService;
import jaoso.news.service.CatalogService;

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.DynaActionForm;
import org.apache.struts.upload.FormFile;

import java.io.FileNotFoundException;
import java.io.IOException;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Enumeration;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * @author 边缘孤客 edgeloner@yahoo.com.cn
 *
 */
public class ArticleAction extends BaseAction {
    private static Log log = LogFactory.getLog(ArticleAction.class);
    private ArticleService articleService;
    private CatalogService catalogService;
    private CountService countService;
    private SecurityService securityService;

    public void setArticleService(ArticleService articleService) {
        this.articleService = articleService;
    }

    public void setCatalogService(CatalogService catalogService) {
        this.catalogService = catalogService;
    }

    public void setCountService(CountService countService) {
        this.countService = countService;
    }

    public final ActionForward getHot(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        Article[] articles = articleService.getHotArticle();
        request.setAttribute("articles", articles);

        return (actionMapping.findForward("success"));
    }

    public final ActionForward getImage(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        Article[] articles = articleService.getImageArticle();
        request.setAttribute("articles", articles);

        return (actionMapping.findForward("success"));
    }

    public final ActionForward getLastUpdate(
        final ActionMapping actionMapping, final ActionForm form,
        final HttpServletRequest request, final HttpServletResponse response)
        throws ServletException {
        Collection rs = articleService.getLastUpdate();
        request.setAttribute("catalogs", rs);

        return (actionMapping.findForward("success"));
    }

    public void setSecurityService(SecurityService securityService) {
        this.securityService = securityService;
    }

    public final ActionForward addCritic(final ActionMapping actionMapping,
        final ActionForm form, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        ActionErrors errors = new ActionErrors();
        String id = request.getParameter("id");
        Critic critic = (Critic) ((DynaActionForm) form).get("critic");
        critic.setCreateDate(new Date());
        critic.setContent(MyUtils.htmlEncode(critic.getContent()));
        articleService.addCritic(id, critic);
        removeAttribute(actionMapping, request);

        Article article = articleService.viewArticle(id);
        request.setAttribute("article", article);

        Catalog parent = article.getCatalog().getParent();

        if ((parent != null) && (parent.getCatalogId() != null)) {
            Map[] parentMap = catalogService.getParents(parent.getCatalogId());
            request.setAttribute("parents", parentMap);
        }

        return actionMapping.findForward("success");
    }

    public final ActionForward approve(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        ActionErrors errors = new ActionErrors();

        // Was this transaction cancelled?
        if (isCancelled(request)) {
            removeAttribute(actionMapping, request);

            return (actionMapping.findForward("cancel"));
        }

        Article art = null;
        String[] artIds = request.getParameterValues("artId");
        articleService.approveArticle(artIds);

        if (!errors.isEmpty()) {
            saveErrors(request, errors);
            saveToken(request);

            return (actionMapping.findForward("success"));
        } else {
            // Remove the obsolete form bean
            removeAttribute(actionMapping, request);

            return (actionMapping.findForward("success"));
        }
    }

    public final ActionForward atom(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        Article[] articles = articleService.getTopNew();
        request.setAttribute("articles", articles);

        return (actionMapping.findForward("success"));
    }

    public final ActionForward cancel(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response) throws ServletException {
        ActionErrors errors = new ActionErrors();

        // Was this transaction cancelled?
        if (isCancelled(request)) {
            removeAttribute(actionMapping, request);

            return (actionMapping.findForward("cancel"));
        }

        Article art = null;
        String[] artIds = request.getParameterValues("artId");

        articleService.cancelArticle(artIds);

        if (!errors.isEmpty()) {
            saveErrors(request, errors);
            saveToken(request);

            return (actionMapping.findForward("success"));
        } else {
            // Remove the obsolete form bean
            removeAttribute(actionMapping, request);

            return (actionMapping.findForward("success"));
        }
    }

    public final ActionForward create(final ActionMapping mapping,
        final ActionForm form, final HttpServletRequest request,
        final HttpServletResponse reponse) throws ServletException {
        ActionErrors errors = new ActionErrors();
        Article article = (Article) ((DynaActionForm) form).get("article");
        String authorId = (String) request.getSession(false).getAttribute("account");
        String catalogId = request.getParameter("artCatalog");
        String requestPath = request.getParameter("requestPath");
        article.setArtContent(MyUtils.replace(article.getArtContent(),requestPath,""));

        if (isCancelled(request)) {
            removeAttribute(mapping, request);

            return (mapping.findForward("cancel"));
        }

        if (!isTokenValid(request)) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.TokenError"));
        }

        resetToken(request);

        Account author = securityService.findAccountById(authorId);
        Catalog catalog = catalogService.getCatalog(catalogId);
        article.setAuthor(author);
        article.setCatalog(catalog);

        Date date = new Date();
        article.setArtLastdate(date);

        if (MyUtils.isBlank(article.getHot())) {
            article.setHot("N");
        }

        if (MyUtils.isBlank(article.getArtImage())) {
            article.setArtImage("N");
        }

        Collection uploadFiles = new ArrayList();

        if ((form.getMultipartRequestHandler() != null) &&
                (form.getMultipartRequestHandler().getFileElements() != null) &&
                (form.getMultipartRequestHandler().getFileElements().elements() != null)) {
            Enumeration eu = form.getMultipartRequestHandler().getFileElements()
                                 .elements();
            FormFile formFile;

            while (eu.hasMoreElements()) {
                formFile = (FormFile) eu.nextElement();

                if ((formFile != null) &&
                        !MyUtils.isBlank(formFile.getFileName())) {
                    UploadFile uploadFile = new UploadFile();
                    uploadFile.setFileName(EncodingConvert.gb2utf(
                            formFile.getFileName()));

                    try {
                        uploadFile.setInputStream(formFile.getInputStream());
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }

                    uploadFiles.add(uploadFile);
                }
            }
        }

        if (MyUtils.isBlank(article.getArtId())) {
            article.setArtId(null);
            article.setArtCount(0);
            article.setArtStatus("OPEN");
            article.setArtCreatedate(date);

            try {
                articleService.createArticle(article, uploadFiles);
            } catch (ArticleExistException e) {
                errors.add(ActionErrors.GLOBAL_ERROR,
                    new ActionError("errors.ArticleExist"));
            }
        } else {
            try {
                articleService.updateArticle(article, uploadFiles);
            } catch (ArticleExistException e) {
                errors.add(ActionErrors.GLOBAL_ERROR,
                    new ActionError("errors.ArticleExist"));
            }
        }

⌨️ 快捷键说明

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