cmspageact.java

来自「JEECSM是JavaEE版网站管理系统(Java Enterprise Edi」· Java 代码 · 共 127 行

JAVA
127
字号
package com.jeecms.cms.action.front;

import com.jeecms.article.entity.Article;
import com.jeecms.article.manager.ArticleMng;
import com.jeecms.cms.entity.CmsChannel;
import com.jeecms.cms.entity.CmsConfig;
import com.jeecms.cms.manager.CmsChannelMng;
import com.jeecms.cms.manager.CmsConfigMng;
import com.jeecms.core.PageBaseAction;
import com.ponyjava.common.web.Paginable;
import com.ponyjava.common.web.SimplePage;

public class CmsPageAct extends PageBaseAction {
	@Override
	protected void beforeAll() {
		super.beforeAll();
	}

	@Override
	protected void sysIndex() {
		sysType = getConfig().getDefaultSystem();
		chnl = cmsChannelMng.getRoot(sysType);
		indexChnl = chnl;
		indexId = chnl.getId();
	}

	@Override
	protected void chnlIndex(String chnlName) {
		chnl = cmsChannelMng.getByPath(chnlName);
	}

	@Override
	protected void content(String chnlName, Long id) {
		arti = articleMng.load(id);
		chnl = arti.getChannel();
		int count = arti.getPageCount();
		pagination = new SimplePage(count, 1, pageNo);
	}

	@Override
	protected void alone(String chnlName) {
		chnl = cmsChannelMng.getByPath(chnlName);
	}

	@Override
	protected void afterChnl() {
		super.afterChnl();
		// @ TODO 需要改变统计浏览次数的策略。目前的方法在大量并发下容易出现脏数据,并且频繁更新数据库,性能不佳。
		chnl.setVisitTotal(chnl.getVisitTotal() + 1);
		tplPath = chnl.chooseTplChannel();
	}

	@Override
	protected void afterContent() {
		super.afterContent();
		arti.setVisitTotal(arti.getVisitTotal() + 1);
		tplPath = arti.chooseTpl();
	}

	@Override
	protected void prepareTplParams() {
		super.prepareTplParams();
		sysType = chnl.getSysType();
	}

	public CmsChannel getChnl() {
		return chnl;
	}

	public Article getArti() {
		return arti;
	}

	public Long getIndexId() {
		if (indexId == null) {
			indexId = indexChnl.getId();
		}
		return indexId;
	}

	public CmsChannel getIndexChnl() {
		if (indexChnl == null) {
			indexChnl = cmsChannelMng.getRoot(sysType);
		}
		return indexChnl;
	}

	public String getSysType() {
		return sysType;
	}

	public CmsConfig getConfig() {
		return cmsConfigMng.load(getWebId());
	}

	private CmsConfigMng cmsConfigMng;
	private CmsChannelMng cmsChannelMng;
	private ArticleMng articleMng;
	private CmsChannel chnl;
	private Article arti;
	private Long indexId;
	private CmsChannel indexChnl;
	private String sysType;
	private Paginable pagination;

	public void setCmsConfigMng(CmsConfigMng cmsConfigMng) {
		this.cmsConfigMng = cmsConfigMng;
	}

	public void setCmsChannelMng(CmsChannelMng cmsChannelMng) {
		this.cmsChannelMng = cmsChannelMng;
	}

	public void setChnl(CmsChannel chnl) {
		this.chnl = chnl;
	}

	public void setArticleMng(ArticleMng articleMng) {
		this.articleMng = articleMng;
	}

	public Paginable getPagination() {
		return pagination;
	}

}

⌨️ 快捷键说明

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