⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 artpostaction.java

📁 前台:文章浏览、发表留言、Game、Music 后台:文章相关:发表文章、修改文章、删除文章、批量移动文章 栏目相关:增加栏目、修改栏目、删除栏目、栏目链接、栏目排序系统栏目分为系统内部栏目和外部栏目
💻 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 + -