📄 artpostaction.java
字号:
package com.yhcms.manage.article.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import com.yhcms.artclass.dao.ArtClassDaoIm;
import com.yhcms.artclass.itface.ArtClassDao;
import com.yhcms.article.bean.Article;
import com.yhcms.article.dao.ArticleDaoIm;
import com.yhcms.article.itface.ArticleDao;
import com.yhcms.db.DBConnException;
import com.yhcms.manage.admin.bean.AdminUser;
import com.yhcms.manage.article.form.ArtPostForm;
import com.yhcms.manage.upload.dao.UpFileDaoIm;
import com.yhcms.manage.upload.itface.UpFileDao;
import com.yhcms.utils.DateUtils;
/**
* <p>Title:系统后台发表文章Action</p>
* <li>发表文章模块</li>
* <br><b>CopyRight: yyhweb[由由华网]</b>
* @author stephen
* @version YH-2.0
*/
public class ArtPostAction extends Action{
public ActionForward execute(ActionMapping actionmapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
Logger yhlog = Logger.getLogger(ArticleAdd.class.getName());
ActionMessages errors = new ActionMessages();
HttpSession session = request.getSession();
// 令牌检查
if(isTokenValid(request)){
resetToken(request);
}else{
yhlog.info("Repeat post an article!");
errors.add("admin.token.error",new ActionMessage("admin.token.error"));
saveErrors(request,errors);
return actionmapping.findForward("Failure");
}
// 取消操作
if(isCancelled(request))
return actionmapping.findForward("Cancel");
AdminUser curUser = (AdminUser) session.getAttribute("yhcmsuser");
int userid = 0;
if(curUser!=null){
userid = curUser.getId();
}
ArtClassDao classdao = ArtClassDaoIm.getInstance();
ArticleDao artdao = ArticleDaoIm.getInstance();
UpFileDao updao = UpFileDaoIm.getInstance();
ArtPostForm postForm = (ArtPostForm)form;
Article article = new Article();
int maxId = 0; // 文章最大Id,上传附件是用。
int curClassId = 0;
int artId = postForm.getArtId();
int bigclassid = postForm.getBigclassid();
String bigclass = ""; //大类名称由Id取得
String ftitle = postForm.getFtitle().trim();
String stitle = postForm.getStitle().trim();
String comefrom = postForm.getComefrom().trim();
String author = postForm.getAuthor().trim();
String editor = postForm.getEditor().trim();
String content = postForm.getContent();
String action = postForm.getAction();
int bid = 0;
// 设置文章属性
article.setBigclassid(bigclassid);
article.setFirsttitle(ftitle);
article.setSecondtitle(stitle);
article.setComefrom(comefrom);
article.setAuthor(author);
article.setEditor(editor);
article.setContent(content);
String fip = request.getRemoteAddr();
String ftime = DateUtils.getCurFormatDate("yyyy-MM-dd");
try {
// 取得所选择栏目的最大文章Id赋值给该文章的Bid
bid = artdao.getArtMaxId(bigclassid);
bigclass = classdao.getNameById(bigclassid);
article.setBigclass(bigclass);
boolean flag = false;
maxId = artdao.getArtMaxId()+1;
if(action.equals("insert")){ // 录入新文章
// 如是post文章,则查找该栏目的最大文章Id赋值给给文章的Bid
article.setBid(bid);
article.setFip(fip);
article.setFdatetime(ftime);
// 判断文章录入是否成功
flag = artdao.addArticle(article);
if(flag){
updao.updateArtFiles(maxId,userid); // 附件文章Id更新
return actionmapping.findForward("Success");
}else{
yhlog.info("Post an article unsuccessfully.");
errors.add("admin.art.add.fail",new ActionMessage("admin.art.add.fail"));
}
}else if(action.equals("update")){ // 更新文章
article.setId(artId);
// 取得该文章在没有提交前的bigclassid
Article curArt = artdao.getArticleById(artId);
curClassId = curArt.getBigclassid();
// 判断update文章时,文章所属栏目是否改变.
if(curClassId!=bigclassid){
article.setBid(bid);
}else{
article.setBid(curArt.getBid());
}
flag = artdao.updateArticle(article);
if(flag){
updao.updateArtFiles(maxId,userid); // 附件文章Id更新
return actionmapping.findForward("Success");
}else{
yhlog.info("Update an article unsuccessfully.");
errors.add("admin.art.update.fail",new ActionMessage("admin.art.update.fail"));
}
}
// 无论是发表还是更新文章出错,都会执行下面的过程.
saveErrors(request,errors);
return actionmapping.findForward("Failure");
} catch (DBConnException e) {
yhlog.warn("When post an article,throw an Exception!");
errors.add("admin.art.add.expt",new ActionMessage("admin.art.add.expt"));
saveErrors(request,errors);
return actionmapping.findForward("Failure");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -