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

📄 refine.java

📁 一个jsp写的bbs
💻 JAVA
字号:
package com.laoer.bbscs.web.action;

import java.util.*;
import javax.servlet.http.*;

import org.apache.commons.lang.*;
import org.apache.commons.logging.*;
import org.apache.struts.action.*;
import org.apache.struts.util.*;
import com.laoer.bbscs.bean.*;
import com.laoer.bbscs.comm.*;
import com.laoer.bbscs.exception.*;
import com.laoer.bbscs.service.*;
import com.laoer.bbscs.service.db2xml.*;
import com.laoer.bbscs.web.form.*;
import com.laoer.bbscs.web.servlet.*;

public class Refine
    extends BaseAction {

  private static final Log logger = LogFactory.getLog(Refine.class);

  private EliteService eliteService;

  private ForumService forumService;

  private EliteXML eliteXML;

  private BoardService boardService;

  private AjaxMessagesXML ajaxMessagesXML;

  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
                               HttpServletResponse response) {
    RefineForm refineForm = (RefineForm) form;

    long bid = refineForm.getBid();
    UserSession us = this.getUserSession(request);

    //Board board = (Board) request.getAttribute(Constant.BOARD_REQUEST_KEY);
    //if (board == null) {
    //  board = this.getBoardService().getBoardByID(bid);
    //  request.setAttribute("board", board);
    //}

    if (refineForm.getAction().equalsIgnoreCase("index") || refineForm.getAction().equalsIgnoreCase("manage")) {
      this.setAttributeBoard(request, bid);
      Elite elite = this.getEliteService().findEliteByID(refineForm.getPid());
      List eliteDirs = new ArrayList();
      if (elite != null) {
        List pes = elite.getParentIDs();
        for (int i = 0; i < pes.size(); i++) {
          Elite pe = this.getEliteService().findEliteByID( ( (Long) pes.get(i)).longValue());
          eliteDirs.add(pe);
        }
        eliteDirs.add(elite);
      }
      request.setAttribute("eliteDirs", eliteDirs);
      if (refineForm.getAction().equalsIgnoreCase("index")) {
        return mapping.findForward("refine");
      }
      if (refineForm.getAction().equalsIgnoreCase("manage")) {
        return mapping.findForward("refineManage");
      }
    }

    if (refineForm.getAction().equalsIgnoreCase("showelite")) {
      List elist = this.getEliteService().findElitesByPidBid(refineForm.getPid(), bid);
      this.getEliteXML().eliteDB2XML(elist, true);
      request.setAttribute("xmlo", this.getEliteXML().getXmlo());
      request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("showflist")) {
      List flist = this.getForumService().findForumsElite(bid, bid, refineForm.getPid());
      this.getEliteXML().eliteDB2XML(flist, false);
      request.setAttribute("xmlo", this.getEliteXML().getXmlo());
      request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("adddir")) {
      //this.setAttributeBoard(request, bid);
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      if (StringUtils.isBlank(refineForm.getEliteName())) {
        this.getEliteXML().elite2XML(null, Constant.CODEID_NULL, mr.getMessage(locale, "error.nullerror"));
      }
      Elite elite = new Elite();
      elite.setBoardID(bid);
      elite.setCreateUser(us.getUserName());
      elite.setEliteName(refineForm.getEliteName());
      elite.setEliteTime(System.currentTimeMillis());
      elite.setOrders(0);
      elite.setParentID(refineForm.getPid());

      try {
        elite = this.getEliteService().createElite(elite);
        this.getEliteXML().elite2XML(elite, Constant.CODEID_OK, mr.getMessage(locale, "refine.adddir.ok"));
      }
      catch (BbscsException ex) {
        logger.error(ex);
        this.getEliteXML().elite2XML(null, Constant.CODEID_REFINE_ADDDIR_ERROR,
                                     mr.getMessage(locale, "error.refine.adddir.error"));
      }
      request.setAttribute("xmlo", this.getEliteXML().getXmlo());
      request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("intodir")) {
      //this.setAttributeBoard(request, bid);
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
      List forums = this.getForumService().findForumsInIds(bid, postIds);
      List forumsSave = new ArrayList();
      for (int i = 0; i < forums.size(); i++) {
        Forum forum = (Forum) forums.get(i);
        forum.setEliteID(refineForm.getEliteDir());
        forumsSave.add(forum);
      }
      try {
        this.getForumService().saveForums(forumsSave);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "refine.adddir.change.ok"));

      }
      catch (BbscsException ex1) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_CHANGEDIR_ERROR,
                                             mr.getMessage(locale, "error.refine.change.error"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("del")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
      List forums = this.getForumService().findForumsInIds(bid, postIds);
      List forumsDel = new ArrayList();
      for (int i = 0; i < forums.size(); i++) {
        Forum forum = (Forum) forums.get(i);
        forum.setElite(0);
        forum.setEliteID(0);
        forumsDel.add(forum);
      }
      try {
        this.getForumService().saveForumsEliteDel(forumsDel);
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "refine.adddir.del.ok"));
      }
      catch (BbscsException ex2) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_DEL_ERROR,
                                             mr.getMessage(locale, "error.refine.del.error"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("outdir")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      List postIds = BBSCSUtil.array2List(refineForm.getPostIds());
      List forums = this.getForumService().findForumsInIds(bid, postIds);
      List forumsSave = new ArrayList();
      Elite e = this.getEliteService().findEliteByID(refineForm.getPid());
      //Elite ep = this.getEliteService().findEliteByID(e.getParentID());
      boolean isDel = false;
      for (int i = 0; i < forums.size(); i++) {
        Forum forum = (Forum) forums.get(i);
        if (forum.getEliteID() != 0) {
          forum.setEliteID(e.getParentID());
        }
        else {
          forum.setElite(0);
          isDel = true;
        }
        forumsSave.add(forum);
      }
      try {
        if (isDel) {
          this.getForumService().saveForumsEliteDel(forumsSave);
        }
        else {
          this.getForumService().saveForums(forumsSave);
        }
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                             mr.getMessage(locale, "refine.adddir.out.ok"));
      }
      catch (BbscsException ex3) {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_OUTDIR_ERROR,
                                             mr.getMessage(locale, "error.refine.out.error"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("edit")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
      if (elite != null) {
        this.getEliteXML().elite2XML(elite, Constant.CODEID_OK, "");
      }
      else {
        this.getEliteXML().elite2XML(null, Constant.CODEID_REFINE_GETELITE_ERROR,
                                     mr.getMessage(locale, "error.refine.getelite"));
      }
      request.setAttribute("xmlo", this.getEliteXML().getXmlo());
      request.setAttribute("messagesDocument", this.getEliteXML().getMessagesDocument());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("editdo")) {
      MessageResources mr = this.getResources(request);
      Locale locale = this.getLocale(request);
      Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
      if (elite != null) {
        elite.setEliteName(refineForm.getEliteName());
        elite.setOrders(refineForm.getOrders());
        try {
          this.getEliteService().saveElite(elite);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_OK,
                                               mr.getMessage(locale, "refine.edit.ok"));
        }
        catch (BbscsException ex4) {
          logger.error(ex4);
          this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_EDIEELITE_ERROR,
                                               mr.getMessage(locale, "error.refine.edit.error"));
        }
      }
      else {
        this.getAjaxMessagesXML().setMessage(Constant.CODEID_REFINE_EDIEELITE_ERROR,
                                             mr.getMessage(locale, "error.refine.edit.error"));
      }
      this.setAjaxMessagesXMLRepuest(request, this.getAjaxMessagesXML());
      return mapping.findForward(this.FORWARD_AJAX);
    }

    if (refineForm.getAction().equalsIgnoreCase("deldir")) {
      ActionMessages messages = new ActionMessages();
      Elite elite = this.getEliteService().findEliteByID(refineForm.getEliteId());
      try {
        long pid = elite.getParentID();
        this.getEliteService().removeElite(elite);
        return new ActionForward(BBSCSUtil.getActionMappingURL("/refine?action=index&pid=" + pid + "&bid=" +
            bid), true);
      }
      catch (BbscsException ex5) {
        messages.add("error.refine.dir.del", new ActionMessage("error.refine.dir.del"));
        this.saveErrors(request, messages);
        return mapping.findForward(this.FORWARD_ERROR);
      }
    }

    return mapping.findForward(this.FORWARD_ERROR);
  }

  private void setAttributeBoard(HttpServletRequest request, long bid) {
    Board board = (Board) request.getAttribute(Constant.BOARD_REQUEST_KEY);
    if (board == null) {
      board = this.getBoardService().getBoardByID(bid);
      request.setAttribute("board", board);
    }
  }

  public EliteService getEliteService() {
    return eliteService;
  }

  public ForumService getForumService() {
    return forumService;
  }

  public EliteXML getEliteXML() {
    return eliteXML;
  }

  public BoardService getBoardService() {
    return boardService;
  }

  public AjaxMessagesXML getAjaxMessagesXML() {
    return ajaxMessagesXML;
  }

  public void setEliteService(EliteService eliteService) {
    this.eliteService = eliteService;
  }

  public void setForumService(ForumService forumService) {
    this.forumService = forumService;
  }

  public void setEliteXML(EliteXML eliteXML) {
    this.eliteXML = eliteXML;
  }

  public void setBoardService(BoardService boardService) {
    this.boardService = boardService;
  }

  public void setAjaxMessagesXML(AjaxMessagesXML ajaxMessagesXML) {
    this.ajaxMessagesXML = ajaxMessagesXML;
  }

}

⌨️ 快捷键说明

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