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

📄 catalogaction.java

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

import jaoso.framework.util.MyUtils;

import jaoso.framework.web.action.BaseAction;

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

import jaoso.news.exception.CatalogExistException;

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.validator.DynaValidatorForm;

import java.io.IOException;

import java.util.Collection;
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 CatalogAction extends BaseAction {

    private static Log log = LogFactory.getLog(CatalogAction.class);

    /** article manager service */
    private ArticleService articleService;

    /** catalog manager service */
    private CatalogService catalogService;

    /**
     * get navigation
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward getNavigation(
        final ActionMapping actionMapping, final ActionForm actionForm,
        final HttpServletRequest request, final HttpServletResponse response)
        throws IOException, ServletException {
        Catalog[] catalogs = catalogService.findCatalogByParent(null);

        // Remove the obsolete form bean
        removeAttribute(actionMapping, request);
        request.setAttribute("catalogs", catalogs);

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

    /**
     * create new catalog
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward createCatalog(
        final ActionMapping actionMapping, final ActionForm actionForm,
        final HttpServletRequest request, final HttpServletResponse response)
        throws IOException, ServletException {
        ActionErrors errors = new ActionErrors();
        DynaValidatorForm form = (DynaValidatorForm) actionForm;

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

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

        //chack token
        if (!isTokenValid(request)) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.TokenError"));
            resetToken(request);
            saveErrors(request, errors);

            return (actionMapping.getInputForward());
        }

        Catalog catalog = (Catalog) form.get("catalog");
        catalog.setCatalogId(null);

        try {
            catalogService.createCatalog(catalog, (String) form.get("parentId"));
        } catch (CatalogExistException e) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.CatalogExist"));
        }

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

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

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

    /**
     * get index menu
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward indexMenu(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response)
        throws IOException, ServletException {
        // Remove the obsolete form bean
        removeAttribute(actionMapping, request);
        request.setAttribute("menu", catalogService.findCatalogByParent(null));

        return actionMapping.findForward("success");
    }

    /**
     * load all catalog as a tree
     *
     * @param mapping
     *            DOCUMENT ME!
     * @param form
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward loadAll(final ActionMapping mapping,
        final ActionForm form, final HttpServletRequest request,
        final HttpServletResponse response)
        throws IOException, ServletException {
        ActionErrors errors = new ActionErrors();
        String action2 = request.getParameter("action2");
        Collection catalogtree;

        // if click cancel button goto cancel page
        if (isCancelled(request)) {
            removeAttribute(mapping, request);

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

        catalogtree = catalogService.getCatalogTree(0, null);
        request.setAttribute("catalogtree", catalogtree);
        saveToken(request);

        if (action2.equals("add")) {
            return (mapping.findForward("addSuccess"));
        } else if (action2.equals("edit")) {
            return (mapping.findForward("editSuccess"));
        } else if (action2.equals("remove")) {
            return (mapping.findForward("removeSuccess"));
        } else {
            return (mapping.findForward("cancel"));
        }
    }

    /**
     * remove catalog
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward removeCatalog(
        final ActionMapping actionMapping, final ActionForm actionForm,
        final HttpServletRequest request, final HttpServletResponse response)
        throws IOException, ServletException {
        ActionErrors errors = new ActionErrors();
        DynaValidatorForm form = (DynaValidatorForm) actionForm;

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

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

        //chack token
        if (!isTokenValid(request)) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.TokenError"));
            resetToken(request);

            return (actionMapping.getInputForward());
        }

        catalogService.removeCatalog(((Catalog) form.get("catalog")).getCatalogId());

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

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

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

    /**
     * update catalog title
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward updateCatalog(
        final ActionMapping actionMapping, final ActionForm actionForm,
        final HttpServletRequest request, final HttpServletResponse response)
        throws IOException, ServletException {
        ActionErrors errors = new ActionErrors();
        DynaValidatorForm form = (DynaValidatorForm) actionForm;

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

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

        //chack token
        if (!isTokenValid(request)) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.TokenError"));
            resetToken(request);

            return (actionMapping.getInputForward());
        }

        try {
            catalogService.updateCatalog((Catalog) form.get("catalog"));
        } catch (CatalogExistException e) {
            errors.add(ActionErrors.GLOBAL_ERROR,
                new ActionError("errors.CatalogExist"));
        }

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

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

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

    /**
     * DOCUMENT ME!
     *
     * @param actionMapping
     *            DOCUMENT ME!
     * @param actionForm
     *            DOCUMENT ME!
     * @param request
     *            DOCUMENT ME!
     * @param response
     *            DOCUMENT ME!
     *
     * @return DOCUMENT ME!
     *
     * @throws IOException
     *             DOCUMENT ME!
     * @throws ServletException
     *             DOCUMENT ME!
     */
    public final ActionForward viewCatalog(final ActionMapping actionMapping,
        final ActionForm actionForm, final HttpServletRequest request,
        final HttpServletResponse response)
        throws IOException, ServletException {
        ActionErrors errors = new ActionErrors();
        Integer artCount = null;
        Article[] articles;
        Catalog catalog;

        //��ѯ�ؼ���
        String para = request.getParameter("para");

        //��ѯ��Ŀ¼
        String catalogId = request.getParameter("catalogId");

        //��ʲô����
        String orderby = request.getParameter("orderby");

        //�����
        String sort = request.getParameter("sort");

        //�ڼ�ҳ
        String page = request.getParameter("pager.offset");

        String[] args = { para, catalogId, orderby, sort, page };
        articles = articleService.find(args);
        artCount = articleService.getArtCount(args);

        if (!MyUtils.isBlank(catalogId)) {
            catalog = catalogService.getCatalog(catalogId);
            request.setAttribute("catalog", catalog);

            Catalog parent = catalog.getParent();

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

        request.setAttribute("articles", articles);
        request.setAttribute("artCount", artCount);

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

            return (actionMapping.findForward("faile"));
        } else {
            return (actionMapping.findForward("success"));
        }
    }

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

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

⌨️ 快捷键说明

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