📄 forumhandler.java~5~
字号:
package ws.woa.forum;
import java.sql.Connection;
import ws.woa.core.ModuleAbstractHandler;
import ws.woa.core.ApplicationException;
import ws.woa.core.Constants;
import ws.woa.core.Request;
import ws.woa.core.Response;
import ws.woa.core.UserInfo;
import ws.woa.util.DefaultValidator;
import ws.woa.util.PageLink;
import ws.woa.util.ValidatorSet;
/**
* 僼僅乕儔儉儌僕儏乕儖偺儌僕儏乕儖僴儞僪儔丅
*
* @author Wang
*/
public class ForumHandler extends ModuleAbstractHandler {
/**
* @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("FORUM")){
titleList(request,response);
} else if(action!=null && action.equals("REGIST")){
regist(request,response);
titleList(request,response);
} else if(action!=null && action.equals("MSG")){
showMessage(request,response);
} else {
forumList(request,response);
}
}
/**
* 僷儔儊乕僞偺擖椡僠僃僢僋丅
*/
private void validate(Request request) throws ApplicationException {
String subject = request.getParameter("Subject");
String content = request.getParameter("Content");
String forumID = request.getParameter("ForumID");
String parentID = request.getParameter("ParentID");
String contentID = request.getParameter("ContentID");
String action = request.getParameter("Action");
ValidatorSet validator = new ValidatorSet();
if(action!=null && action.equals("REGIST")){
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
validator.add(new DefaultValidator(DefaultValidator.STRING ,100,true),subject);
validator.add(new DefaultValidator(DefaultValidator.STRING , true),content);
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),parentID);
} else if(action!=null && action.equals("FORUM")){
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
} else if(action!=null && action.equals("MSG")){
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),forumID);
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 10,true),contentID);
}
validator.doValidate();
}
/**
* 僼僅乕儔儉堦棗
*/
private void forumList(Request request, Response response) throws Exception {
validate(request);
Connection conn = getSystemContext().getConnection("system");
try {
UserInfo user = getSystemContext().getUserInfo();
ForumBean[] forumList = ForumDBAccessor.getForumList(conn,user.getGroupID(),user.getUserID());
request.setAttribute("forumList",forumList);
} catch(Exception ex){
throw ex;
} finally {
conn.close();
}
includeJSP(ForumConstants.JSP_USER_FORUM_LIST,request,response);
}
/**
* 婰帠堦棗
*/
private void titleList(Request request, Response response) throws Exception {
validate(request);
long forumID = Long.parseLong(request.getParameter("ForumID"));
int page = 1;
if(request.getParameter("Page")!=null){
page = Integer.parseInt(request.getParameter("Page"));
}
if(page<1){ page = 1; }
Connection conn = getSystemContext().getConnection("system");
try {
// 墈棗尃尷偺僠僃僢僋
UserInfo userInfo = getSystemContext().getUserInfo();
if(!ForumDBAccessor.getCanShowForum(conn,forumID,
userInfo.getUserID(),userInfo.getGroupID())){
throw new ApplicationException(Constants.ERR_PERMISSION);
}
ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
request.setAttribute("forum",forum);
ForumContentBean[] contents = ForumDBAccessor.getContentList(conn,forumID,
(page-1)*ForumConstants.ONE_PAGE_TREE);
request.setAttribute("contents",contents);
//ForumPageLink pageLink = new ForumPageLink(page,
// ForumDBAccessor.getArticleCount(conn,forumID),"forum.module",forumID);
PageLink pageLink = new PageLink("forum.module?Action=FORUM&ForumID="+forumID,page,
ForumDBAccessor.getArticleCount(conn,forumID),
ForumConstants.ONE_PAGE_TREE);
request.setAttribute("pageLink",pageLink);
} catch(Exception ex){
throw ex;
} finally {
conn.close();
}
includeJSP(ForumConstants.JSP_USER_TITLES,request,response);
}
/**
* 婰帠偺搳峞
*/
private void regist(Request request, Response response) throws Exception {
validate(request);
long forumID = Long.parseLong(request.getParameter("ForumID"));
long parentID = Long.parseLong(request.getParameter("ParentID"));
String subject = request.getParameter("Subject");
String content = request.getParameter("Content");
long userID = getSystemContext().getUserInfo().getUserID();
Connection conn = getSystemContext().getConnection("system");
try {
// 墈棗尃尷偺僠僃僢僋
UserInfo userInfo = getSystemContext().getUserInfo();
if(!ForumDBAccessor.getCanShowForum(conn,forumID,
userInfo.getUserID(),userInfo.getGroupID())){
throw new ApplicationException(Constants.ERR_PERMISSION);
}
ForumDBAccessor.registContent(conn,forumID,parentID,userID,subject,content);
} catch(Exception ex){
conn.rollback();
throw ex;
} finally {
conn.commit();
conn.close();
}
}
/**
* 婰帠偺墈棗
*/
private void showMessage(Request request, Response response) throws Exception {
validate(request);
long forumID = Long.parseLong(request.getParameter("ForumID"));
long contentID = Long.parseLong(request.getParameter("ContentID"));
Connection conn = getSystemContext().getConnection("system");
try {
// 墈棗尃尷偺僠僃僢僋
UserInfo userInfo = getSystemContext().getUserInfo();
if(!ForumDBAccessor.getCanShowForum(conn,forumID,
userInfo.getUserID(),userInfo.getGroupID())){
throw new ApplicationException(Constants.ERR_PERMISSION);
}
ForumContentBean content = ForumDBAccessor.getContent(conn,forumID,contentID);
request.setAttribute("content",content);
ForumBean forum = ForumDBAccessor.getForum(conn,forumID);
request.setAttribute("forum",forum);
} catch(Exception ex){
throw ex;
} finally {
conn.close();
}
includeJSP(ForumConstants.JSP_USER_MESSAGE,request,response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -