📄 newsadminhandler.java~8~
字号:
package ws.woa.news;
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.PageLink;
import ws.woa.util.ValidatorSet;
import ws.woa.util.DefaultValidator;
import ws.woa.util.CheckUtil;
/**
* 僯儏乕僗娗棟儌僕儏乕儖偺僴儞僪儔丅
*
* @author Wang
*/
public class NewsAdminHandler 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);
newsList(request,response);
// 峏怴幚峴
} else if(action!=null && action.equals("UPD_EXEC")){
updateExecute(request,response);
newsList(request,response);
// 嶍彍幚峴
} else if(action!=null && action.equals("DEL_EXEC")){
deleteExecute(request,response);
newsList(request,response);
// 僯儏乕僗堦棗
} else {
newsList(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(NewsConstants.JSP_FORM,request,response);
}
/**
* 峏怴夋柺
*/
private void updateForm(Request request,Response response) throws Exception {
idValidate(request);
UserInfo[] users = getSystemContext().getAllUserInfo();
GroupInfo[] groups = getSystemContext().getAllGroupInfo();
request.setAttribute("users",users);
request.setAttribute("groups",groups);
Connection conn = getSystemContext().getConnection();
try {
NewsBean news = NewsDBAccessor.getNews(
Long.parseLong(request.getParameter("NewsID")),conn);
request.setAttribute("news",news);
} catch(Exception ex){
throw ex;
} finally {
//conn.close();
getSystemContext().releaseConnection(conn);
}
includeJSP(NewsConstants.JSP_FORM,request,response);
}
/**
* 嶍彍夋柺
*/
private void deleteConfirm(Request request,Response response) throws Exception {
idValidate(request);
Connection conn = getSystemContext().getConnection();
try {
NewsBean news = NewsDBAccessor.getNews(
Long.parseLong(request.getParameter("NewsID")),conn);
request.setAttribute("news",news);
} catch(Exception ex){
throw ex;
} finally {
//conn.close();
getSystemContext().releaseConnection(conn);
}
includeJSP(NewsConstants.JSP_DELETE,request,response);
}
/**
* 搊榐幚峴
*/
private void registExecute(Request request,Response response) throws Exception {
// 擖椡僠僃僢僋
validate(request);
String subject = request.getParameter("Subject");
String content = request.getParameter("Content");
int acceptFlag = Integer.parseInt(request.getParameter("AcceptFlag"));
Connection conn = getSystemContext().getConnection();
try {
if(acceptFlag==0){
NewsDBAccessor.registNews(subject,content,acceptFlag,
ArrayUtil.toLongArray(request.getParameterValues("GroupID")),conn);
} else if(acceptFlag==1){
NewsDBAccessor.registNews(subject,content,acceptFlag,
ArrayUtil.toLongArray(request.getParameterValues("UserID")),conn);
} else {
NewsDBAccessor.registNews(subject,content,acceptFlag,new long[0],conn);
}
} catch(Exception ex){
conn.rollback();
throw ex;
} finally {
conn.commit();
//conn.close();
getSystemContext().releaseConnection(conn);
}
}
/**
* 峏怴幚峴
*/
private void updateExecute(Request request,Response response) throws Exception {
// 擖椡僠僃僢僋
validate(request);
long newsID = Long.parseLong(request.getParameter("NewsID"));
String subject = request.getParameter("Subject");
String content = request.getParameter("Content");
int acceptFlag = Integer.parseInt(request.getParameter("AcceptFlag"));
Connection conn = getSystemContext().getConnection();
try {
if(acceptFlag==0){
NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,
ArrayUtil.toLongArray(request.getParameterValues("GroupID")),conn);
} else if(acceptFlag==1){
NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,
ArrayUtil.toLongArray(request.getParameterValues("UserID")),conn);
} else {
NewsDBAccessor.updateNews(newsID,subject,content,acceptFlag,new long[0],conn);
}
} catch(Exception ex){
conn.rollback();
throw ex;
} finally {
conn.commit();
//conn.close();
getSystemContext().releaseConnection(conn);
}
}
/**
* 嶍彍幚峴
*/
private void deleteExecute(Request request,Response response) throws Exception {
idValidate(request);
long newsID = Long.parseLong(request.getParameter("NewsID"));
Connection conn = getSystemContext().getConnection();
try {
NewsDBAccessor.deleteNews(newsID,conn);
} catch(Exception ex){
conn.rollback();
throw ex;
} finally {
conn.commit();
//conn.close();
getSystemContext().releaseConnection(conn);
}
}
/**
* 僯儏乕僗堦棗夋柺
*/
private void newsList(Request request,Response response) throws Exception {
// 儁乕僕斣崋傪庢摼
int page = 1;
if(request.getParameter("Page")!=null && CheckUtil.numericCheck
(request.getParameter("Page"))){
page = Integer.parseInt(request.getParameter("Page"));
}
if(page<1){ page = 1; }
Connection conn = getSystemContext().getConnection();
try {
// 審悢傪庢摼
int count = NewsDBAccessor.getNewsCount(conn);
// 儁乕僕斣崋傪曗惓
if((page-1)*NewsConstants.PAGE_ROW_COUNT>=count){
page = page - 1;
}
UserInfo userInfo = getSystemContext().getUserInfo();
NewsBean[] newsList = NewsDBAccessor.getNewsList(
(page-1)*NewsConstants.PAGE_ROW_COUNT,
NewsConstants.PAGE_ROW_COUNT,conn);
request.setAttribute("newsList",newsList);
PageLink pageLink = new PageLink("newsadmin.module",
page,count,NewsConstants.PAGE_ROW_COUNT);
request.setAttribute("pageLink",pageLink);
includeJSP(NewsConstants.JSP_LIST,request,response);
} catch(Exception ex){
throw ex;
} finally {
//conn.close();
getSystemContext().releaseConnection(conn);
}
}
/**
* 擖椡僠僃僢僋傪峴偄傑偡丅
*
* @exception ApplicationException 擖椡僄儔乕偑偁偭偨応崌
*/
private static void validate(Request request) throws ApplicationException {
String subject = request.getParameter("Subject");
String content = request.getParameter("Content");
String acceptFlag = request.getParameter("AcceptFlag");
String newsID = request.getParameter("NewsID");
String action = request.getParameter("Action");
ValidatorSet validator = new ValidatorSet();
if(action!=null && action.equals("UPD_EXEC")){
validator.add(new DefaultValidator(DefaultValidator.NUMERIC ,10,true),newsID);
}
validator.add(new DefaultValidator(DefaultValidator.STRING ,200,true),subject);
validator.add(new DefaultValidator(DefaultValidator.STRING , true),content);
validator.add(new DefaultValidator(DefaultValidator.NUMERIC, 1,true),acceptFlag);
validator.doValidate();
}
/**
* NewsID僷儔儊乕僞偺傒偺専徹
*/
private static void idValidate(Request request) throws ApplicationException {
ValidatorSet validator = new ValidatorSet();
validator.add(new DefaultValidator(DefaultValidator.NUMERIC,10,true),
request.getParameter("NewsID"));
validator.doValidate();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -