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

📄 forumadminhandler.java~3~

📁 一个自己做的公司网站和办公职员管理系统。
💻 JAVA~3~
字号:
package ws.woa.forum;

import java.sql.Connection;

import ws.woa.core.AbstractModuleHandler;
import ws.woa.core.ApplicationException;
import ws.woa.core.GroupInfo;
import ws.woa.core.Request;
import ws.woa.core.Response;
import ws.woa.core.UserInfo;
import ws.woa.util.ArrayUtil;
import ws.woa.util.ValidatorSet;
import ws.woa.util.DefaultValidator;

/**
 * 僼僅乕儔儉娗棟婡擻偺儌僕儏乕儖僴儞僪儔
 *
 * @author Wang
 */
public class ForumAdminHandler extends AbstractModuleHandler {

    /**
     * @see ws.woa.core.ModuleHandler#doProcess(Request, Response)
     */
    public void doProcess(Request request, Response response) throws Exception {

        String action = request.getParameter("Action");

        if(action!=null && action.equals("REG_FORM")){
            registForm(request,response);

        } else if(action!=null && action.equals("UPD_FORM")){
            updateForm(request,response);

        } else if(action!=null && action.equals("DEL_CONF")){
            deleteConfirm(request,response);

        } else if(action!=null && action.equals("REG_EXEC")){
            registExecute(request,response);
            forumList(request,response);

        } else if(action!=null && action.equals("UPD_EXEC")){
            updateExecute(request,response);
            forumList(request,response);

        } else if(action!=null && action.equals("DEL_EXEC")){
            deleteExecute(request,response);
            forumList(request,response);

        } else {
            forumList(request,response);
        }
    }

    /**
     * 僷儔儊乕僞偺擖椡僠僃僢僋丅
     */
    private void validate(Request request) throws ApplicationException {
        String forumName   = request.getParameter("ForumName");
        String forumDetail = request.getParameter("ForumDetail");
        String acceptFlag  = request.getParameter("AcceptFlag");

        String action      = request.getParameter("Action");
        String forumID     = request.getParameter("ForumID");

        ValidatorSet validator = new ValidatorSet();
        if(action!=null && (action.equals("REG_EXEC")||action.equals("UPD_EXEC"))){
            validator.add(new DefaultValidator(DefaultValidator.STRING ,100,true),forumName);
            validator.add(new DefaultValidator(DefaultValidator.STRING ,200,true),forumDetail);
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC,  1,true),acceptFlag);
        }

        if(action!=null && (action.equals("DEL_EXEC") || action.equals("UPD_EXEC") ||
                            action.equals("DEL_CONF") || action.equals("UPD_FORM"))   ){
            validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
        }

        validator.doValidate();
    }

    /**
     * 僼僅乕儔儉堦棗
     */
    private void forumList(Request request,Response response) throws Exception {
        Connection conn = getSystemContext().getConnection("system");
        try {
            ForumBean[] forumList = ForumDBAccessor.getAllForum(conn);
            request.setAttribute("forumList",forumList);
        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }
        includeJSP(ForumConstants.JSP_FORUM_LIST,request,response);
    }

    /**
     * 僼僅乕儔儉搊榐夋柺
     */
    private void registForm(Request request,Response response) throws Exception {
        UserInfo[]  users  = getSystemContext().getAllUserInfo();
        GroupInfo[] groups = getSystemContext().getAllGroupInfo();
        request.setAttribute("users",users);
        request.setAttribute("groups",groups);

        includeJSP(ForumConstants.JSP_FORUM_FORM,request,response);
    }

    /**
     * 僼僅乕儔儉峏怴夋柺
     */
    private void updateForm(Request request,Response response) throws Exception {

        validate(request);

        UserInfo[]  users  = getSystemContext().getAllUserInfo();
        GroupInfo[] groups = getSystemContext().getAllGroupInfo();
        request.setAttribute("users",users);
        request.setAttribute("groups",groups);

        long forumID = Long.parseLong(request.getParameter("ForumID"));
        Connection conn = getSystemContext().getConnection("system");
        try {
            ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
            request.setAttribute("forum",forum);
        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }

        includeJSP(ForumConstants.JSP_FORUM_FORM,request,response);
    }

    /**
     * 僼僅乕儔儉嶍彍妋擣夋柺
     */
    private void deleteConfirm(Request request,Response response) throws Exception {

        validate(request);

        long forumID = Long.parseLong(request.getParameter("ForumID"));
        Connection conn = getSystemContext().getConnection("system");
        try {
            ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
            request.setAttribute("forum",forum);
        } catch(Exception ex){
            throw ex;
        } finally {
            conn.close();
        }

        includeJSP(ForumConstants.JSP_FORUM_DELETE,request,response);

    }

    /**
     * 僼僅乕儔儉搊榐幚峴
     */
    private void registExecute(Request request,Response response) throws Exception {

        validate(request);

        String forumName   = request.getParameter("ForumName");
        String forumDetail = request.getParameter("ForumDetail");
        int    acceptFlag  = Integer.parseInt(request.getParameter("AcceptFlag"));

        Connection conn = getSystemContext().getConnection("system");
        try {
            if(acceptFlag==0){
                ForumDBAccessor.registForum(conn,forumName,forumDetail,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("GroupID")));
            } else if(acceptFlag==1){
                ForumDBAccessor.registForum(conn,forumName,forumDetail,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("UserID")));
            } else {
                ForumDBAccessor.registForum(conn,forumName,forumDetail,acceptFlag,new long[0]);
            }
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            conn.close();
        }
    }

    /**
     * 僼僅乕儔儉峏怴幚峴
     */
    private void updateExecute(Request request,Response response) throws Exception {

        validate(request);

        long   forumID     = Long.parseLong(request.getParameter("ForumID"));
        String forumName   = request.getParameter("ForumName");
        String forumDetail = request.getParameter("ForumDetail");
        int    acceptFlag  = Integer.parseInt(request.getParameter("AcceptFlag"));

        Connection conn = getSystemContext().getConnection("system");
        try {
            if(acceptFlag==0){
                ForumDBAccessor.updateForum(conn,forumID,forumName,forumDetail,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("GroupID")));
            } else if(acceptFlag==1){
                ForumDBAccessor.updateForum(conn,forumID,forumName,forumDetail,acceptFlag,
                    ArrayUtil.toLongArray(request.getParameterValues("UserID")));
            } else {
                ForumDBAccessor.updateForum(conn,forumID,forumName,forumDetail,acceptFlag,new long[0]);
            }
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            conn.close();
        }
    }

    /**
     * 僼僅乕儔儉嶍彍幚峴
     */
    private void deleteExecute(Request request,Response response) throws Exception {

        validate(request);

        long forumID = Long.parseLong(request.getParameter("ForumID"));
        Connection conn = getSystemContext().getConnection("system");
        try {
            ForumDBAccessor.deleteForum(conn,forumID);
        } catch(Exception ex){
            conn.rollback();
            throw ex;
        } finally {
            conn.commit();
            conn.close();
        }
    }
}

⌨️ 快捷键说明

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