📄 forumadminhandler.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 + -