addarticleaction.java

来自「一个实用的CMS管理」· Java 代码 · 共 370 行

JAVA
370
字号
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 {
		return "success";
	}

	public String addnew() throws Exception {
		// 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";

	}

	public String addnewpublish() throws Exception {

		// 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.setTemplate_news("news.ftl");
		newsFileName = makeNews.make(nh, newsFtl);
		article.setArticle_file(newsFileName);
		getArticleService().addNewArticle(article);
		// LuceneIndex.makeNewsInfoIndex(article,indexDir);
		getLuceneService().makeNewsInfoIndex(article, indexDir);
		return "success";
	}

	public String artlist() throws Exception {

		// 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";

	}

	public String addprev() throws Exception {

		// ServletContext servletContext = servlet.getServletContext();

		// setArtList(getArticleService().getArticleByClass(artclass_id));
		setArtclass_id(artclass_id);
		setAC(getArticleService().getArticleClassById(artclass_id));
		return "addprev";

	}

	public String getArticleById() throws Exception {

		// 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";

	}

	public String update() throws Exception {

		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";

	}

	public String updatepublish() throws Exception {

		// 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.setTemplate_news("news.ftl");
		newsFileName = makeNews.make(nh, newsFtl);
		article.setArticle_file(newsFileName);

		getArticleService().artupdateById(article);

		// LuceneIndex.updateNewsInfoIndex(article,indexDir);
		getLuceneService().updateNewsInfoIndex(article, indexDir);
		return "success";

	}

	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 + -
显示快捷键?