📄 articleaction.java
字号:
package jaoso.news.web.action;
import jaoso.count.domain.Count;
import jaoso.count.service.CountService;
import jaoso.count.web.listener.CountListener;
import jaoso.framework.domain.Account;
import jaoso.framework.service.SecurityService;
import jaoso.framework.util.EncodingConvert;
import jaoso.framework.util.MyUtils;
import jaoso.framework.util.UploadFile;
import jaoso.framework.web.action.BaseAction;
import jaoso.news.domain.Article;
import jaoso.news.domain.Catalog;
import jaoso.news.domain.Critic;
import jaoso.news.exception.ArticleExistException;
import jaoso.news.service.ArticleService;
import jaoso.news.service.CatalogService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.upload.FormFile;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Enumeration;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author 边缘孤客 edgeloner@yahoo.com.cn
*
*/
public class ArticleAction extends BaseAction {
private static Log log = LogFactory.getLog(ArticleAction.class);
private ArticleService articleService;
private CatalogService catalogService;
private CountService countService;
private SecurityService securityService;
public void setArticleService(ArticleService articleService) {
this.articleService = articleService;
}
public void setCatalogService(CatalogService catalogService) {
this.catalogService = catalogService;
}
public void setCountService(CountService countService) {
this.countService = countService;
}
public final ActionForward getHot(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
Article[] articles = articleService.getHotArticle();
request.setAttribute("articles", articles);
return (actionMapping.findForward("success"));
}
public final ActionForward getImage(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
Article[] articles = articleService.getImageArticle();
request.setAttribute("articles", articles);
return (actionMapping.findForward("success"));
}
public final ActionForward getLastUpdate(
final ActionMapping actionMapping, final ActionForm form,
final HttpServletRequest request, final HttpServletResponse response)
throws ServletException {
Collection rs = articleService.getLastUpdate();
request.setAttribute("catalogs", rs);
return (actionMapping.findForward("success"));
}
public void setSecurityService(SecurityService securityService) {
this.securityService = securityService;
}
public final ActionForward addCritic(final ActionMapping actionMapping,
final ActionForm form, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
ActionErrors errors = new ActionErrors();
String id = request.getParameter("id");
Critic critic = (Critic) ((DynaActionForm) form).get("critic");
critic.setCreateDate(new Date());
critic.setContent(MyUtils.htmlEncode(critic.getContent()));
articleService.addCritic(id, critic);
removeAttribute(actionMapping, request);
Article article = articleService.viewArticle(id);
request.setAttribute("article", article);
Catalog parent = article.getCatalog().getParent();
if ((parent != null) && (parent.getCatalogId() != null)) {
Map[] parentMap = catalogService.getParents(parent.getCatalogId());
request.setAttribute("parents", parentMap);
}
return actionMapping.findForward("success");
}
public final ActionForward approve(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
ActionErrors errors = new ActionErrors();
// Was this transaction cancelled?
if (isCancelled(request)) {
removeAttribute(actionMapping, request);
return (actionMapping.findForward("cancel"));
}
Article art = null;
String[] artIds = request.getParameterValues("artId");
articleService.approveArticle(artIds);
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (actionMapping.findForward("success"));
} else {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
return (actionMapping.findForward("success"));
}
}
public final ActionForward atom(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
Article[] articles = articleService.getTopNew();
request.setAttribute("articles", articles);
return (actionMapping.findForward("success"));
}
public final ActionForward cancel(final ActionMapping actionMapping,
final ActionForm actionForm, final HttpServletRequest request,
final HttpServletResponse response) throws ServletException {
ActionErrors errors = new ActionErrors();
// Was this transaction cancelled?
if (isCancelled(request)) {
removeAttribute(actionMapping, request);
return (actionMapping.findForward("cancel"));
}
Article art = null;
String[] artIds = request.getParameterValues("artId");
articleService.cancelArticle(artIds);
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (actionMapping.findForward("success"));
} else {
// Remove the obsolete form bean
removeAttribute(actionMapping, request);
return (actionMapping.findForward("success"));
}
}
public final ActionForward create(final ActionMapping mapping,
final ActionForm form, final HttpServletRequest request,
final HttpServletResponse reponse) throws ServletException {
ActionErrors errors = new ActionErrors();
Article article = (Article) ((DynaActionForm) form).get("article");
String authorId = (String) request.getSession(false).getAttribute("account");
String catalogId = request.getParameter("artCatalog");
String requestPath = request.getParameter("requestPath");
article.setArtContent(MyUtils.replace(article.getArtContent(),requestPath,""));
if (isCancelled(request)) {
removeAttribute(mapping, request);
return (mapping.findForward("cancel"));
}
if (!isTokenValid(request)) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.TokenError"));
}
resetToken(request);
Account author = securityService.findAccountById(authorId);
Catalog catalog = catalogService.getCatalog(catalogId);
article.setAuthor(author);
article.setCatalog(catalog);
Date date = new Date();
article.setArtLastdate(date);
if (MyUtils.isBlank(article.getHot())) {
article.setHot("N");
}
if (MyUtils.isBlank(article.getArtImage())) {
article.setArtImage("N");
}
Collection uploadFiles = new ArrayList();
if ((form.getMultipartRequestHandler() != null) &&
(form.getMultipartRequestHandler().getFileElements() != null) &&
(form.getMultipartRequestHandler().getFileElements().elements() != null)) {
Enumeration eu = form.getMultipartRequestHandler().getFileElements()
.elements();
FormFile formFile;
while (eu.hasMoreElements()) {
formFile = (FormFile) eu.nextElement();
if ((formFile != null) &&
!MyUtils.isBlank(formFile.getFileName())) {
UploadFile uploadFile = new UploadFile();
uploadFile.setFileName(EncodingConvert.gb2utf(
formFile.getFileName()));
try {
uploadFile.setInputStream(formFile.getInputStream());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
uploadFiles.add(uploadFile);
}
}
}
if (MyUtils.isBlank(article.getArtId())) {
article.setArtId(null);
article.setArtCount(0);
article.setArtStatus("OPEN");
article.setArtCreatedate(date);
try {
articleService.createArticle(article, uploadFiles);
} catch (ArticleExistException e) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.ArticleExist"));
}
} else {
try {
articleService.updateArticle(article, uploadFiles);
} catch (ArticleExistException e) {
errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("errors.ArticleExist"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -