亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cmspageact.java

?? JEECMS是JavaEE版網站管理系統(Java Enterprise Edition Content Manage System)的簡稱。 基于java技術開發
?? JAVA
字號:
package com.jeecms.cms.action.front;

import net.sf.ehcache.Element;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.jeecms.article.entity.Article;
import com.jeecms.article.manager.ArticleMng;
import com.jeecms.cms.Constants;
import com.jeecms.cms.entity.CmsChannel;
import com.jeecms.cms.entity.CmsConfig;
import com.jeecms.cms.entity.CmsMember;
import com.jeecms.cms.entity.CmsMemberGroup;
import com.jeecms.cms.manager.CmsChannelMng;
import com.jeecms.cms.manager.CmsConfigMng;
import com.jeecms.cms.manager.CmsMemberMng;
import com.jeecms.core.PageBaseAction;
import com.ponyjava.common.page.Paginable;
import com.ponyjava.common.page.SimplePage;

@SuppressWarnings("unchecked")
@Scope("prototype")
@Controller("cms.cmsPageAct")
public class CmsPageAct extends PageBaseAction {
	private static final Logger log = LoggerFactory.getLogger(CmsPageAct.class);

	@Override
	protected String sysIndex() {
		String result = SUCCESS;
		if (getConfig().getCacheHomepage()) {
			log.debug("首頁緩存開啟");
			result = PAGE_CACHE_RESULT;
			if (useHomepageCache()) {
				return null;
			}
		}
		sysType = getConfig().getDefaultSystem();
		chnl = cmsChannelMng.getRoot(getWebId(), sysType);

		// @ TODO 需要改變統計瀏覽次數的策略。目前的方法在大量并發下容易出現臟數據,并且頻繁更新數據庫,性能不佳。
		// chnl.setVisitTotal(chnl.getVisitTotal() + 1);

		tplPath = chnl.chooseTplChannel();
		return result;
	}

	@Override
	protected String chnlIndex(String chnlName) {
		String result = SUCCESS;
		if (getConfig().getCacheChannel()) {
			log.debug("欄目緩存開啟");
			result = PAGE_CACHE_RESULT;
			if (useChannelCache(chnlName)) {
				return null;
			}
		}
		chnl = cmsChannelMng.getByPath(getWebId(), chnlName);

		// @ TODO 需要改變統計瀏覽次數的策略。目前的方法在大量并發下容易出現臟數據,并且頻繁更新數據庫,性能不佳。
		chnl.setVisitTotal(chnl.getVisitTotal() + 1);

		tplPath = chnl.chooseTplChannel();
		sysType = chnl.getSysType();
		return result;
	}

	@Override
	protected String content(String chnlName, Long id) {
		arti = articleMng.findById(id);
		chnl = arti.getChannel();
		sysType = chnl.getSysType();
		// 檢查閱讀權限
		CmsMemberGroup artiGroup = arti.getGroup();
		if (artiGroup != null) {
			CmsMember cmsMember = getCmsMember();
			if (cmsMember == null) {
				return redirectLogin();
			}
			int artiLevel = artiGroup.getLevel();
			CmsMemberGroup memberGroup = cmsMember.getGroup();
			int memberLevel = memberGroup.getLevel();
			if (artiLevel > memberLevel) {
				addActionError("您的會員組級別是“" + memberGroup.getName() + "”,該頁面需要“"
						+ artiGroup.getName() + "”或以上級別才能訪問");
				return showMessage();
			}
		}
		pagination = new SimplePage(pageNo, 1, arti.getPageCount());

		// @ TODO 需要改變統計瀏覽次數的策略。目前的方法在大量并發下容易出現臟數據,并且頻繁更新數據庫,性能不佳。
		arti.setVisitTotal(arti.getVisitTotal() + 1);

		tplPath = arti.chooseTpl();
		return SUCCESS;
	}

	@Override
	protected String alone(String chnlName) {
		chnl = cmsChannelMng.getByPath(getWebId(), chnlName);
		sysType = chnl.getSysType();
		tplPath = chnl.chooseTplChannel();
		return SUCCESS;
	}

	@Override
	protected String getSolution() {
		return getConfig().getSolution(getSysType());
	}

	public CmsChannel getChnl() {
		return chnl;
	}

	public Article getArti() {
		return arti;
	}

	public String getSysType() {
		return sysType;
	}

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

	/**
	 * 獲得cms會員對象
	 * 
	 * @return
	 */
	public CmsMember getCmsMember() {
		Long memberId = getMemberId();
		if (memberId == null) {
			return null;
		} else {
			return cmsMemberMng.findById(memberId);
		}
	}

	/**
	 * 獲得cms會員ID
	 * 
	 * @return
	 */
	public Long getCmsMemberId() {
		CmsMember cmsMember = getCmsMember();
		if (cmsMember == null) {
			return null;
		} else {
			return cmsMember.getId();
		}
	}

	private String showMessage() {
		return handleResult(SHOW_MESSAGE, Constants.MEMBER_SYS);
	}

	protected String redirectLogin() {
		rootWebUrl = getWeb().getRootWeb().getWebUrl();
		return Constants.CMS_MEMBER_LOGIN;
	}

	private boolean useCache(Element e) {
		if (e != null) {
			String s = (String) e.getValue();
			int i = 0;
			while (i < MAX_WAIT_TIME && StringUtils.isBlank(s)) {
				s = (String) e.getValue();
				try {
					i += SLEEP_FOR_WAIT;
					Thread.sleep(SLEEP_FOR_WAIT);
					log.debug("等待緩存sleep{}ms" + SLEEP_FOR_WAIT);
				} catch (InterruptedException e1) {
					log.warn("sleep interrupted");
				}
			}
			if (i < MAX_WAIT_TIME && !StringUtils.isBlank(s)) {
				renderHtmlGBK(s);
				log.info("緩存命中");
				return true;
			} else {
				log.warn("等待已經超過{}ms,沒有等到緩存", i);
			}
		} else {
			// 準備生成緩存
			homepageCache.put(new Element(ckHomepage, ""));
			log.info("準備生成緩存");
		}
		return false;
	}

	private boolean useHomepageCache() {
		ckHomepage = getWebId();
		cacheType = HOMEPAGE_CACHE;
		Element e = homepageCache.get(ckHomepage);
		return useCache(e);
	}

	private boolean useChannelCache(String chnlName) {
		ckChannel = getWebId() + chnlName + getPageNo();
		cacheType = CHANNEL_CACHE;
		Element e = channelCache.get(ckChannel);
		return useCache(e);
	}

	private static final int SLEEP_FOR_WAIT = 500;
	private static final int MAX_WAIT_TIME = 10000;
	@Autowired
	private CmsConfigMng cmsConfigMng;
	@Autowired
	private CmsChannelMng cmsChannelMng;
	@Autowired
	private CmsMemberMng cmsMemberMng;
	@Autowired
	private ArticleMng articleMng;
	private CmsChannel chnl;
	private Article arti;
	private String sysType;
	private Paginable pagination;

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

	public Paginable getPagination() {
		return pagination;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线欧美日韩精品| 久久精品夜色噜噜亚洲a∨| 日韩三级在线免费观看| 国产精品电影一区二区| 免费久久99精品国产| 日本精品裸体写真集在线观看| 欧美一区二区三区喷汁尤物| 亚洲精品中文字幕乱码三区| 国产不卡一区视频| 精品美女在线播放| 日本在线不卡视频| 欧美日本精品一区二区三区| 日韩一区日韩二区| 波多野结衣在线aⅴ中文字幕不卡| 日韩精品一区二区三区中文不卡| 亚洲主播在线播放| 一本色道**综合亚洲精品蜜桃冫| 国产精品理论在线观看| 国产成人精品www牛牛影视| 26uuu国产电影一区二区| 免费在线看一区| 欧美三级三级三级爽爽爽| 亚洲在线视频一区| 欧美三片在线视频观看| 亚洲第一久久影院| 欧美无人高清视频在线观看| 亚洲欧洲中文日韩久久av乱码| 成人av资源在线观看| 国产精品视频yy9299一区| 国产ts人妖一区二区| 久久久久久久久久看片| 国产精品911| 欧美韩国日本不卡| 波多野结衣中文字幕一区二区三区| 国产亚洲女人久久久久毛片| 国产精品888| 亚洲婷婷综合色高清在线| 99riav久久精品riav| 一区二区三区免费| 在线成人av影院| 精品一区二区三区免费播放| 国产无遮挡一区二区三区毛片日本| 国产精品中文有码| 中文字幕中文字幕一区| 一本到三区不卡视频| 亚洲va天堂va国产va久| 日韩精品一区二区三区三区免费| 国产麻豆成人传媒免费观看| 亚洲欧美综合在线精品| 欧美午夜精品电影| 精品一区二区三区日韩| 日韩毛片视频在线看| 欧美电影在线免费观看| 国产精品18久久久| 亚洲激情校园春色| 日韩欧美不卡在线观看视频| 不卡av免费在线观看| 日欧美一区二区| 欧美激情中文字幕| 精品污污网站免费看| 国产一区二区三区高清播放| 综合久久一区二区三区| 制服丝袜亚洲色图| 成人午夜精品在线| 丝袜诱惑制服诱惑色一区在线观看| 2019国产精品| 欧美亚洲图片小说| 国产精品亚洲第一| 天使萌一区二区三区免费观看| 国产色一区二区| 欧美精品乱码久久久久久 | 老鸭窝一区二区久久精品| 久久久久亚洲蜜桃| 欧美日韩小视频| www.视频一区| 激情综合网激情| 午夜精品福利在线| 国产精品二区一区二区aⅴ污介绍| 4438x亚洲最大成人网| av在线综合网| 韩国成人精品a∨在线观看| 亚洲一区二区三区四区在线| 欧美激情中文字幕| 亚洲精品一区二区三区影院| 欧美日韩一区不卡| 99久久精品国产麻豆演员表| 国产一区二区三区观看| 日韩国产成人精品| 亚洲国产成人91porn| 国产精品丝袜91| 久久人人爽爽爽人久久久| 4hu四虎永久在线影院成人| 在线一区二区观看| 成人精品高清在线| 国产传媒日韩欧美成人| 九九精品视频在线看| 奇米精品一区二区三区在线观看| 亚洲精品你懂的| 亚洲免费av观看| 亚洲欧洲日韩av| 国产精品久久久久一区| 久久久91精品国产一区二区精品 | 亚洲乱码精品一二三四区日韩在线| 欧美大白屁股肥臀xxxxxx| 欧美福利视频导航| 欧美卡1卡2卡| 51久久夜色精品国产麻豆| 欧美日韩久久不卡| 欧美日韩午夜在线视频| 欧美日韩久久不卡| 欧美一区欧美二区| 91麻豆精品国产无毒不卡在线观看| 欧美午夜片在线看| 91精品国产综合久久精品性色| 欧美久久久久免费| 日韩免费高清电影| 精品91自产拍在线观看一区| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩美女视频一区二区在线观看| 欧美日韩aaaaaa| 欧美日韩电影一区| 日韩区在线观看| 久久伊人中文字幕| 中文子幕无线码一区tr| 自拍av一区二区三区| 亚洲一区二区免费视频| 日韩中文字幕1| 激情综合色播五月| 国产99久久久久久免费看农村| 91玉足脚交白嫩脚丫在线播放| 在线视频国内一区二区| 在线播放视频一区| 久久婷婷国产综合精品青草| 国产精品久久久久久户外露出 | 精品一区二区三区视频在线观看| 国产一区二区成人久久免费影院 | 国产ts人妖一区二区| 99riav一区二区三区| 717成人午夜免费福利电影| 日韩女优毛片在线| 国产精品国产a| 丝袜脚交一区二区| 懂色av中文一区二区三区 | 日韩专区中文字幕一区二区| 蜜臀av一区二区在线免费观看| 国产激情一区二区三区四区 | 老司机精品视频导航| 成人黄色在线网站| 制服丝袜中文字幕一区| 亚洲国产高清在线观看视频| 亚洲成人一二三| 国产成人在线观看| 欧美挠脚心视频网站| 国产日韩欧美一区二区三区综合| 有坂深雪av一区二区精品| 精品影视av免费| 欧美三级蜜桃2在线观看| 国产亚洲精品免费| 蜜桃视频在线一区| 欧美影院一区二区三区| 国产亚洲欧美一级| 蜜臀久久99精品久久久画质超高清 | 国产精品一区二区男女羞羞无遮挡| 99精品久久久久久| 精品国产123| 亚洲制服丝袜在线| av一区二区不卡| 久久精品日产第一区二区三区高清版 | 国产乱人伦精品一区二区在线观看| 91小宝寻花一区二区三区| 久久精品夜色噜噜亚洲a∨| 欧美96一区二区免费视频| 一本在线高清不卡dvd| 日本一区二区三区四区| 偷窥国产亚洲免费视频| 在线观看国产一区二区| 国产精品天美传媒沈樵| 国产精品1区2区| 精品国产乱子伦一区| 日韩专区欧美专区| 欧美视频完全免费看| 一区二区在线电影| 色诱视频网站一区| 亚洲视频一区二区在线| 成人免费视频一区二区| 久久精品视频在线免费观看| 国模冰冰炮一区二区| 精品国产亚洲一区二区三区在线观看| 偷拍一区二区三区| 在线综合+亚洲+欧美中文字幕| 午夜免费欧美电影| 欧美视频一区二| 婷婷开心激情综合| 欧美一区永久视频免费观看| 日日噜噜夜夜狠狠视频欧美人 | 久久综合色综合88| 蜜桃av噜噜一区二区三区小说| 欧美疯狂做受xxxx富婆| 男人的天堂亚洲一区| 欧美tickling网站挠脚心|