📄 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.MyUtils;
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 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 边缘孤客
* 管理文章
*
*/
public class ArticleAction extends BaseAction {
/** DOCUMENT ME! */
private static Log log = LogFactory.getLog(ArticleAction.class);
/** article manager service*/
private ArticleService articleService = (ArticleService) getServiceLocator()
.getService("articleService");
/** catalog manager service */
private CatalogService catalogService = (CatalogService) getServiceLocator()
.getService("catalogService");
/** DOCUMENT ME! */
private CountService countService = (CountService) getServiceLocator()
.getService("countService");
/** security manager service */
private SecurityService securityService = (SecurityService) getServiceLocator()
.getService("securityService");
/**
* 获取头条文章(固顶)
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
/**
* 获取图片文章
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
/**
* 获取各首层目录最新更新的文章
*
* @param actionMapping DOCUMENT ME!
* @param form DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
/**
* DOCUMENT ME!
*
* @param actionMapping DOCUMENT ME!
* @param form DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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");
}
/**
* DOCUMENT ME!
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
}
/**
* get atom xml
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
/**
* DOCUMENT ME!
*
* @param actionMapping DOCUMENT ME!
* @param actionForm DOCUMENT ME!
* @param request DOCUMENT ME!
* @param response DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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"));
}
}
/**
* DOCUMENT ME!
*
* @param mapping DOCUMENT ME!
* @param form DOCUMENT ME!
* @param request DOCUMENT ME!
* @param reponse DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
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");
//检查是否取消
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();
while (eu.hasMoreElements()) {
uploadFiles.add(eu.nextElement());
}
}
//如果是新建的
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"));
}
}
if (!errors.isEmpty()) {
saveErrors(request, errors);
saveToken(request);
return (mapping.getInputForward());
} else {
return (mapping.findForward("success"));
}
}
/**
* DOCUMENT ME!
*
* @param mapping DOCUMENT ME!
* @param form DOCUMENT ME!
* @param request DOCUMENT ME!
* @param reponse DOCUMENT ME!
*
* @return DOCUMENT ME!
*
* @throws ServletException DOCUMENT ME!
*/
public final ActionForward listCritic(final ActionMapping mapping,
final ActionForm form, final HttpServletRequest request,
final HttpServletResponse reponse) throws ServletException {
ActionErrors errors = new ActionErrors();
Article[] articles = null;
Collection catalogtree = null;
Integer artCount = null;
//查询关键字
String para = request.getParameter("para");
//查询的目录
String catalog = request.getParameter("artCatalog");
//按什么排列
String orderby = request.getParameter("orderby");
//排列次序
String sort = request.getParameter("sort");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -