addarticleaction.java.svn-base

来自「一个实用的CMS管理」· SVN-BASE 代码 · 共 426 行

SVN-BASE
426
字号
package com.suncms.struts2.action;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.util.ServletContextAware;
import org.extremecomponents.table.context.Context;
import org.extremecomponents.table.context.HttpServletRequestContext;
import org.extremecomponents.table.core.Preferences;
import org.extremecomponents.table.core.PreferencesConstants;
import org.extremecomponents.table.core.TableConstants;
import org.extremecomponents.table.core.TableModelUtils;
import org.extremecomponents.table.core.TableProperties;
import org.extremecomponents.table.limit.Limit;
import org.extremecomponents.table.limit.LimitFactory;
import org.extremecomponents.table.limit.TableLimit;
import org.extremecomponents.table.limit.TableLimitFactory;

import com.opensymphony.xwork2.ActionSupport;
import com.suncms.domain.Article;
import com.suncms.domain.Article_Class;
import com.suncms.domain.NewsFtl;
import com.suncms.domain.NewsHtml;

import com.suncms.service.freemarker.MakeNews;
import com.suncms.service.ibatis.ArticleService;
import com.suncms.service.lucene.LuceneIndex;

public class AddArticleAction extends ActionSupport implements
		ServletContextAware {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private String article_title;
	private String article_overdue;
	private String article_content;
	private ServletContext context;

	private String row_id;
	private String artclass_id;
	private String artclass_name;
	// private String article_desc;
	private String article_status;
	// private String article_author_id;
	// private String article_author_name;
	// private String article_editor_id;
	// private String article_editor_name;
	// private Integer article_read_count;
	// private String article_attach;
	// private String create_by;
	// private Date create_time;
	// private String modify_by;
	// private Date modify_time;
	// private String article_file;
	private List<Article> ArtList;
	private Article_Class AC;
	private ArticleService articleService = null;
	private LuceneIndex luceneService = null;
	
	public Article_Class getAC() {
		return AC;
	}

	
	public LuceneIndex getLuceneService() {
		return luceneService;
	}


	public void setLuceneService(LuceneIndex luceneService) {
		this.luceneService = luceneService;
	}


	public void setAC(Article_Class ac) {
		AC = ac;
	}

	public String getArticle_title() {
		return article_title;
	}

	public void setArticle_title(String article_title) {
		this.article_title = article_title;
	}

	public String getArticle_overdue(){
		return article_overdue;
	}

	public void setArticle_overdue(String article_overdue) {
		this.article_overdue = article_overdue;
	}

	public String getArticle_content() {
		return article_content;
	}

	public void setArticle_content(String article_content) {
		this.article_content = article_content;
	}

	public ArticleService getArticleService() {
		return articleService;
	}

	public void setArticleService(ArticleService articleService) {
		this.articleService = articleService;
	}

	public void setServletContext(ServletContext context) {
		
		this.context = context;
	}

	public String execute() throws Exception {
		try {
			/*
			 * //ServletContext servletContext = servlet.getServletContext();
			 * String realPath = context.getRealPath("/"); String newsFileName =
			 * ""; // 生成静态新闻 Article article = new Article();
			 * article.setArticle_title(article_title);
			 * article.setArticle_overdue(article_overdue);
			 * article.setArticle_content(article_content);
			 * 
			 * MakeNews makeNews = new MakeNews(); NewsFtl newsFtl = new
			 * NewsFtl(); newsFtl.setRealPath(realPath);
			 * newsFtl.setTemplateName("news.ftl"); newsFileName =
			 * makeNews.make(article, newsFtl);
			 * article.setArticle_file(newsFileName);
			 * getArticleService().addNewArticle(article);
			 */
			return "success";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String addnew() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();
			String realPath = context.getRealPath("/");
			String newsFileName = "";

			// 生成静态新闻
			Article article = new Article();
			article.setArticle_title(article_title);
			article.setArticle_overdue(article_overdue);
			article.setArticle_content(article_content);
			article.setArtclass_id(AC.getRow_id());
			article.setArtclass_name(AC.getClass_name());
			article.setArticle_status("1");
			article.setCreate_time(new java.util.Date());
			article.setModify_time(new java.util.Date());

			// MakeNews makeNews = new MakeNews();
			// NewsFtl newsFtl = new NewsFtl();
			// newsFtl.setRealPath(realPath);
			// newsFtl.setTemplateName("news.ftl");
			// newsFileName = makeNews.make(article, newsFtl);
			// article.setArticle_file(newsFileName);
			getArticleService().addNewArticle(article);
			return "success";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String addnewpublish() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();
			String realPath = context.getRealPath("/");
			String newsFileName = "";
			String indexDir=realPath+"index";

			// 生成静态新闻
			Article article = new Article();
			article.setArticle_title(article_title);
			article.setArticle_overdue(article_overdue);
			article.setArticle_content(article_content);
			article.setArtclass_id(AC.getRow_id());
			article.setArtclass_name(AC.getClass_name());
			article.setArticle_status("3");
			article.setCreate_time(new java.util.Date());
			article.setModify_time(new java.util.Date());
			NewsHtml nh=new NewsHtml();
			nh.setArticle(article);
			Article_Class ac = getArticleService().getArticleClassById(AC.getRow_id());
			List<Article_Class> aclist = getArticleService().getArtClassByParId(ac.getPar_class_id());
			nh.setAclist(aclist);
			nh.setPar_class_name(ac.getPar_class_name());
			nh.setPar_class_id(ac.getPar_class_id());
			MakeNews makeNews = new MakeNews();
			NewsFtl newsFtl = new NewsFtl();
			newsFtl.setRealPath(realPath);
			newsFtl.setTemplateName("news.ftl");
			newsFileName = makeNews.make(nh, newsFtl);
			article.setArticle_file(newsFileName);
			getArticleService().addNewArticle(article);
			//LuceneIndex.makeNewsInfoIndex(article,indexDir);
			getLuceneService().makeNewsInfoIndex(article, indexDir);
			return "success";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String artlist() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();
			HttpServletRequest request = ServletActionContext.getRequest();
			/**
			 * controller首先需要创建一个Limit
			 */

			String tableId = "ec";
			Context context = new HttpServletRequestContext(request);
			LimitFactory limitFactory = new TableLimitFactory(context, tableId);
			Limit limit = new TableLimit(limitFactory);

			/**
			 * 得到系统默认的页面显示大小
			 */
			Preferences preferences = new TableProperties();
			preferences.init(null, TableModelUtils
					.getPreferencesLocation(context));
			String crdStr = tableId + "_"
					+ TableConstants.CURRENT_ROWS_DISPLAYED;
			/**
			 * 注意:此处取值时,如果后台配置文件里有配置,就从里面取,反之取15
			 */
			int defaultRowsDisplayed = Integer.parseInt(preferences
					.getPreference(PreferencesConstants.TABLE_ROWS_DISPLAYED));
			if (request.getParameter(crdStr) != null) {
				defaultRowsDisplayed = Integer.parseInt(request
						.getParameter(crdStr));
			}

			int totalRows = getArticleService().getTotalCount(limit);
			limit.setRowAttributes(totalRows, defaultRowsDisplayed);

			
			request.setAttribute("totalRows", totalRows);
			Article_Class ac = getArticleService().getArticleClassById(
					artclass_id);
			setArtList(getArticleService().limitQuery(limit,artclass_id));
			setArtclass_id(artclass_id);
			setArtclass_name(ac.getClass_name());
			return "ArtList";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String addprev() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();

			// setArtList(getArticleService().getArticleByClass(artclass_id));
			setArtclass_id(artclass_id);
			setAC(getArticleService().getArticleClassById(artclass_id));
			return "addprev";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}
	
	public String getArticleById() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();

			// setArtList(getArticleService().getArticleByClass(artclass_id));
			
			Article article=getArticleService().getArtById(row_id);
			setArticle_title(article.getArticle_title());
			setArticle_overdue(article.getArticle_overdue());
			setArticle_content(article.getArticle_content());
			setRow_id(article.getRow_id());
			setArtclass_id(article.getArtclass_id());
			setArtclass_name(article.getArtclass_name());
			setArticle_status(article.getArticle_status());
			setAC(getArticleService().getArticleClassById(article.getArtclass_id()));
			return "updateprev";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String update() throws Exception {
		try {
			
			Article article = new Article();
			article.setRow_id(row_id);
			article.setArticle_title(article_title);
			article.setArticle_overdue(article_overdue);
			article.setArticle_content(article_content);
			//article.setArtclass_id(AC.getRow_id());
			//article.setArtclass_name(AC.getClass_name());
			article.setArticle_status("1");
			//article.setCreate_time(new java.util.Date());
			article.setModify_time(new java.util.Date());
			getArticleService().artupdateById(article);
			return "success";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	public String updatepublish() throws Exception {
		try {
			// ServletContext servletContext = servlet.getServletContext();
			String realPath = context.getRealPath("/");
			String newsFileName = "";
			String indexDir=realPath+"index";

			// 生成静态新闻
			Article article = new Article();
			article.setRow_id(row_id);
			article.setArticle_title(article_title);
			article.setArticle_overdue(article_overdue);
			article.setArticle_content(article_content);
			article.setArtclass_id(AC.getRow_id());
			article.setArtclass_name(AC.getClass_name());
			article.setArticle_status("3");
			//article.setCreate_time(new java.util.Date());
			article.setModify_time(new java.util.Date());

			NewsHtml nh=new NewsHtml();
			nh.setArticle(article);
			Article_Class ac = getArticleService().getArticleClassById(AC.getRow_id());
			List<Article_Class> aclist = getArticleService().getArtClassByParId(ac.getPar_class_id());
			nh.setAclist(aclist);
			nh.setPar_class_name(ac.getPar_class_name());
			nh.setPar_class_id(ac.getPar_class_id());
			
			MakeNews makeNews = new MakeNews();
			NewsFtl newsFtl = new NewsFtl();
			newsFtl.setRealPath(realPath);
			newsFtl.setTemplateName("news.ftl");
			newsFileName = makeNews.make(nh, newsFtl);
			article.setArticle_file(newsFileName);
			
			getArticleService().artupdateById(article);
			
			//LuceneIndex.updateNewsInfoIndex(article,indexDir);
			getLuceneService().updateNewsInfoIndex(article, indexDir);
			return "success";
		} catch (Exception e) {
			e.printStackTrace();
			return "error";
		}

	}

	
	public ServletContext getContext() {
		return context;
	}

	public void setContext(ServletContext context) {
		this.context = context;
	}

	public String getRow_id() {
		return row_id;
	}

	public void setRow_id(String row_id) {
		this.row_id = row_id;
	}

	public String getArtclass_id() {
		return artclass_id;
	}

	public void setArtclass_id(String artclass_id) {
		this.artclass_id = artclass_id;
	}

	public String getArtclass_name() {
		return artclass_name;
	}

	public void setArtclass_name(String artclass_name) {
		this.artclass_name = artclass_name;
	}

	public String getArticle_status() {
		return article_status;
	}

	public void setArticle_status(String article_status) {
		this.article_status = article_status;
	}

	public List<Article> getArtList() {
		return ArtList;
	}

	public void setArtList(List<Article> artList) {
		ArtList = artList;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?