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

📄 menuaction.java~9~

📁 一个基于Java的新闻发布系统
💻 JAVA~9~
字号:
package com.hope.itissue.sys_info.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
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 com.hope.common.exception.BaseException;
import com.hope.common.util.db.DBConfig;
import com.hope.itissue.shared.BaseAction;
import java.util.ArrayList;
import com.hope.itissue.sys_info.bean.MenuDTO;
import com.hope.itissue.sys_info.dao.MenuDAO;
import com.hope.itissue.sys_info.dao.DAOFactory;

public class MenuAction extends BaseAction {
    Log log = LogFactory.getLog(MenuAction.class);

    public ActionForward dotree(ActionMapping mapping, ActionForm form,
                                HttpServletRequest request,
                                HttpServletResponse response) throws
        BaseException {
        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        MenuDAO menuDAO = (MenuDAO) DAOFactory.getDAOFactory(
            DBConfig.getDataBaseName()).getMenuDAO();
        ArrayList menuList = menuDAO.getMenus();

        StringBuffer strBuffer = new StringBuffer();
        strBuffer.append("tree.nodes[\"0_99999\"] = \"text:");
        strBuffer.append("栏目菜单");
        strBuffer.append(";url:MenuAction.do?act=dolist&menuid=99999");
        strBuffer.append(";\"\n");
        for (int i = 0; i < menuList.size(); i++) {
            MenuDTO menuDTO = (MenuDTO) menuList.get(i);
            strBuffer.append("tree.nodes[\"");
            strBuffer.append((String) menuDTO.getParentID());
            strBuffer.append("_");
            strBuffer.append((String) menuDTO.getID());
            strBuffer.append("\"] = \"text:");
            strBuffer.append((String) menuDTO.getMenuName());
            strBuffer.append(";url:ItemAction.do?act=dolist&menuid=");
            strBuffer.append((String) menuDTO.getID());
            strBuffer.append(";\"\n");
        }

        request.setAttribute("tree", strBuffer.toString());
        return mapping.findForward("tree");
    }

    public ActionForward dolist(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            BaseException {
        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        //获取对数据库操作的DAO对象
        String menuid = request.getParameter("menuid");
        String reload = (String) request.getParameter("reload");
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.
                getDataBaseName()).getMenuDAO();
        ArrayList menuList = menuDAO.getMenuList(menuid);
        String menuName = "";
        if (!menuid.equals("99999")) {
            MenuDTO menuDTO = menuDAO.getMenuDTO(menuid);
            menuName = menuDTO.getMenuName();
        } else {
            menuName = "顶级栏目";
        }
        request.setAttribute("menuList", menuList);
        request.setAttribute("menuid", menuid);
        request.setAttribute("menuName", menuName);
        request.setAttribute("reload", reload);
        return mapping.findForward("list");

    }


    public ActionForward doadd(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            BaseException {
        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        String menuid = (String)request.getParameter("menuid");
        //接收显示层传来的数据,并将其封装进DTO中
        String MenuName = ((DynaValidatorForm) form).getString("MenuName");
        String MenuOrder = ((String) request.getParameter("MenuOrder"));
        String IsUse = ((String) request.getParameter("IsUse"));
        String Type = ((String) request.getParameter("Type"));
        String Template = ((String) request.getParameter("Template"));

        MenuDAO menuDAO = (MenuDAO) DAOFactory.getDAOFactory(
                DBConfig.getDataBaseName()).getMenuDAO();

        MenuDTO menuDTO = new MenuDTO();
        menuDTO.setMenuName(MenuName);
        menuDTO.setParentID(menuid);
        menuDTO.setMenuOrder(MenuOrder);
        menuDTO.setIsUse(IsUse);
        menuDTO.setType(Type);
        menuDTO.setTemplate(Template);

        //获取对数据库操作的DAO对象
        menuDAO.addMenu(menuDTO);

        //转向竣工资料模板列表页面
        try {
            response.sendRedirect("MenuAction.do?act=dolist&menuid="+menuid
                                  +"&reload=yes");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public ActionForward doedit(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            BaseException {

        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        //接收显示层传来的数据,并将其封装入DTO中
        String menuid = (String)request.getParameter("menuid");
        String id = (String)request.getParameter("id");
        MenuDTO menuDTO = new MenuDTO();
        menuDTO.setMenuName(((DynaValidatorForm) form).getString("MenuName"));
        menuDTO.setMenuOrder(((DynaValidatorForm) form).getString("MenuOrder"));
        menuDTO.setIsUse(((DynaValidatorForm) form).getString("IsUse"));
        menuDTO.setType(((DynaValidatorForm) form).getString("Type"));
        menuDTO.setID(id);
        //获取对数据库操作的DAO对象
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.getDataBaseName()).
                              getMenuDAO();

        //对数据库进行操作
        menuDAO.editMenu(menuDTO);
        //转向竣工资料模板列表页面
        try {
            response.sendRedirect("MenuAction.do?act=dolist&menuid="+menuid
                                  +"&reload=yes");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public ActionForward dodel(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            BaseException {
        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        //接收显示层传来的数据
        String menuid = (String)request.getParameter("menuid");
        String id = (String)request.getParameter("id");
        //获取对数据库操作的DAO对象
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.getDataBaseName()).
                              getMenuDAO();
//        MenuDTO menuDTO = menuDAO.getMenuDTO(menuid);
        //对数据库进行操作
        menuDAO.delMenu(id,request.getSession().getServletContext().
                            getRealPath("/"));
        try {
            response.sendRedirect("MenuAction.do?act=dolist&menuid="+menuid
                                  +"&reload=yes");
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public ActionForward loadadd(ActionMapping mapping, ActionForm form,
                                 HttpServletRequest request,
                                 HttpServletResponse response) throws
            BaseException {
        String menuid = (String) request.getParameter("menuid");
        String menuName = "";
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.
            getDataBaseName()).getMenuDAO();
        if (!menuid.equals("99999")) {
            MenuDTO menuDTO = menuDAO.getMenuDTO(menuid);
            menuName = menuDTO.getMenuName();
        } else {
            menuName = "顶级栏目";
        }
        ArrayList menuTypeList = menuDAO.getMenuTypeList();
        ArrayList templateList = menuDAO.getTemplateList();
        request.setAttribute("menuTypeList",menuTypeList);
        request.setAttribute("templateList",templateList);
        request.setAttribute("menuid", menuid);
        request.setAttribute("menuName", menuName);
        return mapping.findForward("add");
    }

    public ActionForward loadedit(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            BaseException {
        //接收显示层传来的数据
        String id = (String) request.getParameter("id");
        String menuid = (String) request.getParameter("menuid");
        //获取对数据库操作的DAO对象
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.
            getDataBaseName()).getMenuDAO();
        //对数据库进行操作
        MenuDTO menuDTO = menuDAO.getMenuDTO(id);
        String menuName = "";
        if (menuDTO == null) {
            log.error("error.EditDB.EditError");
            throw new BaseException("error.EditDB.EditError");
        }
        if (!menuid.equals("99999")) {
            menuName = menuDTO.getMenuName();
        } else {
            menuName = "顶级栏目";
        }
        ArrayList menuTypeList = menuDAO.getMenuTypeList();
        ArrayList templateList = menuDAO.getTemplateList();
        request.setAttribute("menuTypeList",menuTypeList);
        request.setAttribute("templateList",templateList);
        request.setAttribute("menuDTO", menuDTO);
        request.setAttribute("menuid", menuid);
        request.setAttribute("menuType",menuDTO.getType());
        request.setAttribute("template",menuDTO.getTemplate());
        request.setAttribute("menuIsUse",menuDTO.getIsUse());
        request.setAttribute("menuName", menuName);
        //转向竣工资料模板编辑页面
        return mapping.findForward("edit");
    }

    public ActionForward dostop(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            BaseException {

        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        //接收显示层传来的数据,并将其封装入DTO中
        String menuid = (String)request.getParameter("menuid");
        String id = (String)request.getParameter("id");
        //获取对数据库操作的DAO对象
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.getDataBaseName()).
                              getMenuDAO();

        //对数据库进行操作
        menuDAO.stopMenu(id);
        //转向竣工资料模板列表页面
        try {
            response.sendRedirect("MenuAction.do?act=dolist&menuid="+menuid);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public ActionForward dostart(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            BaseException {

        //判断session是否有效
        if (!this.isValid(request)) {
            this.setSysMessage(request, "error.session.invalid",
                               "btn.value.relogin", "index.do");
            return mapping.findForward("error");
        }
        //接收显示层传来的数据,并将其封装入DTO中
        String menuid = (String)request.getParameter("menuid");
        String id = (String)request.getParameter("id");
        //获取对数据库操作的DAO对象
        MenuDAO menuDAO = DAOFactory.getDAOFactory(DBConfig.getDataBaseName()).
                              getMenuDAO();

        //对数据库进行操作
        menuDAO.startMenu(id);
        //转向竣工资料模板列表页面
        try {
            response.sendRedirect("MenuAction.do?act=dolist&menuid="+menuid);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
                                        HttpServletRequest request,
                                        HttpServletResponse response) throws
            Exception {
        return this.dotree(mapping, form, request, response);

    }
}

⌨️ 快捷键说明

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