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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? templateact.java

?? JAVA做的CMS源碼
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
package com.jeecms.core.action;

import static com.jeecms.core.Constants.ENCODING;
import static com.jeecms.core.Constants.FILE_SPT;
import static com.jeecms.core.Constants.SPT;

import java.io.File;
import java.io.FileFilter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.jeecms.core.JeeCoreAction;
import com.jeecms.core.util.FileWrap;
import com.jeecms.core.util.UploadRule;
import com.ponyjava.common.util.ComUtils;
import com.ponyjava.common.util.Zipper;
import com.ponyjava.common.util.Zipper.FileEntry;

@SuppressWarnings("serial")
@Scope("prototype")
@Controller("core.templateAct")
public class TemplateAct extends JeeCoreAction {
	private static final Logger log = LoggerFactory
			.getLogger(TemplateAct.class);

	public String resMain() {
		return MAIN;
	}

	public String left() {
		String path = getWeb().getTplRootReal(contextPvd.getAppRoot())
				.toString().replace(SPT, FILE_SPT);
		File tplFile = new File(path);
		treeRoot = new FileWrap(tplFile, path, new FileFilter() {
			public boolean accept(File f) {
				if (f.getName().startsWith(".") || f.getName().startsWith("$")) {
					return false;
				} else {
					return true;
				}
			}
		});
		return LEFT;
	}

	public String resLeft() {
		String resPath = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.toString());
		treeRoot = new FileWrap(new File(resPath), resPath, new FileFilter() {
			public boolean accept(File f) {
				if (f.isDirectory() || f.getName().endsWith(".js")
						|| f.getName().endsWith(".css")
						|| f.getName().endsWith(".html")
						|| f.getName().endsWith(".txt")) {
					return true;
				} else {
					return false;
				}
			}
		});
		return LEFT;
	}

	public String right() {
		return RIGHT;
	}

	public String list() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).toString());
		File dir = new File(path);
		subDir = new FileWrap(dir).getChild();
		return LIST;
	}

	public String resList() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).toString());
		File dir = new File(path);
		subDir = new FileWrap(dir).getChild();
		return LIST;
	}

	public String add() {
		// 設(shè)置上傳規(guī)則
		addUploadRule();
		return ADD;
	}

	public String resAdd() {
		return ADD;
	}

	private boolean saveFile(String path) {
		File tpl = new File(path + relPath + FILE_SPT + tplName);
		try {
			FileUtils.writeStringToFile(tpl, tplContent, ENCODING);
			return true;
		} catch (IOException e) {
			log.error("寫(xiě)入模板失敗!", e);
			addActionError("寫(xiě)入模板失敗!");
			return false;
		}
	}

	public String save() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot()
				.toString());
		if (saveFile(path)) {
			removeUploadRule();
		}
		return list();
	}

	public String resSave() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.toString());
		saveFile(path);
		return resList();
	}

	private void editFile(String path) {
		File tpl = new File(path);
		tplName = tpl.getName();
		parentPath = relPath.substring(0, relPath.lastIndexOf(FILE_SPT));
		try {
			tplContent = FileUtils.readFileToString(tpl, ENCODING);
		} catch (IOException e) {
			log.error("讀取模板文件失敗", e);
			addActionError("讀取模板文件失敗!");
		}
	}

	public String edit() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).toString());
		editFile(path);
		// 設(shè)置上傳規(guī)則
		addUploadRule();
		return EDIT;
	}

	public String resEdit() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).toString());
		editFile(path);
		return EDIT;
	}

	private boolean updateFile(String path) {
		File tpl = new File(path);
		File newFile = tpl;
		if (!tpl.getName().equals(tplName)) {
			newFile = new File(tpl.getParent() + FILE_SPT + tplName);
			tpl.renameTo(newFile);
		}
		try {
			FileUtils.writeStringToFile(newFile, tplContent, ENCODING);
			jsonRoot.put("success", true);
			jsonRoot.put("msg", "保存成功");
			return true;
		} catch (IOException e) {
			log.error("寫(xiě)文件失敗", e);
			jsonRoot.put("success", false);
			jsonRoot.put("msg", "寫(xiě)文件失敗!");
			return false;
		}
	}

	public String update() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).toString());
		if (updateFile(path)) {
			removeUploadRule();
		}
		return SUCCESS;
	}

	public String resUpdate() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).toString());
		updateFile(path);
		return SUCCESS;
	}

	private void renameFile(String path) {
		File tpl = new File(path);
		if (!origName.equals(tplName)) {
			boolean b = tpl.renameTo(new File(tpl.getParent() + FILE_SPT
					+ tplName));
			if (!b) {
				jsonRoot.put("success", false);
			}
		}
		jsonRoot.put("success", true);
	}

	public String rename() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).append(SPT).append(origName).toString());
		renameFile(path);
		return SUCCESS;
	}

	public String resRename() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).append(SPT).append(origName).toString());
		renameFile(path);
		return SUCCESS;
	}

	private void deleteFile(String path) {
		File tpl = new File(path);
		if (FileUtils.deleteQuietly(tpl)) {
			addActionError("刪除成功!");
		} else {
			addActionError("刪除失敗!");
		}
	}

	public String delete() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).append(SPT).append(tplName).toString());
		deleteFile(path);
		return list();
	}

	public String resDelete() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).append(SPT).append(tplName).toString());
		deleteFile(path);
		return resList();
	}

	public String createDir() {
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot().append(
				relPath).append(SPT).append(dirName).toString());
		File dir = new File(path);
		dir.mkdir();
		return list();
	}

	public String resCreateDir() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).append(SPT).append(dirName).toString());
		File dir = new File(path);
		dir.mkdir();
		return resList();
	}

	public String resUpload() {
		return "upload";
	}

	public String resUploadSubmit() {
		String path = contextPvd.getAppRealPath(getWeb().getResRootBuf()
				.append(relPath).append(SPT).toString());
		if (resFile != null) {
			try {
				for (int i = 0; i < resFile.length; i++) {
					FileUtils.copyFile(resFile[i], new File(path + FILE_SPT
							+ resFileFileName[i]));
				}
				addActionMessage("上傳成功!");
			} catch (IOException e) {
				addActionError("上傳失敗!" + e.getMessage());
			}
		}
		return resList();
	}

	public String solutionEdit() {
		// 數(shù)據(jù)庫(kù)和目錄中都有的模板套件才顯示
		// 數(shù)據(jù)庫(kù)中模板方案
		solMap = getWeb().getSolutions();
		// 模板目錄中模板方案
		dirMap = new LinkedHashMap<String, String[]>();
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot()
				.toString());
		File[] tplFiles = new File(path).listFiles(ComUtils.DIR_FILE_FILTER);
		for (File f : tplFiles) {
			if (solMap.containsKey(f.getName())) {
				dirMap.put(f.getName(), f.list(ComUtils.DIR_FILE_FILTER));
			}
		}
		return "solution";
	}

	public String solutionUpdate() {
		Map<String, String> smap = getWeb().getSolutions();
		for (String key : smap.keySet()) {
			String s = solMap.get(key);
			if (s != null) {
				smap.put(key, s);
			}
		}
		addActionMessage("操作成功");
		return solutionEdit();
	}

	public String exportTpl() {
		solSet = new LinkedHashSet<String>();
		solMap = getWeb().getSolutions();
		String path = contextPvd.getAppRealPath(getWeb().getTplRoot()
				.toString());
		File[] sysDirs = new File(path).listFiles(ComUtils.DIR_FILE_FILTER);
		for (File sysDir : sysDirs) {
			if (solMap.containsKey(sysDir.getName())) {
				for (File sol : sysDir.listFiles(ComUtils.DIR_FILE_FILTER)) {
					solSet.add(sol.getName());
				}
			}
		}
		return "exportTpl";
	}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
男人的天堂亚洲一区| 国产精品99久久久久久似苏梦涵| 精品美女在线观看| 91原创在线视频| 国产一区二区三区日韩| 亚洲一二三区在线观看| 日本一区二区在线不卡| 91精品国产综合久久香蕉麻豆| 972aa.com艺术欧美| 国产一区二区三区四| 日韩av一区二区三区| 尤物在线观看一区| 日本一区二区免费在线 | 欧洲色大大久久| 国产成a人无v码亚洲福利| 日本视频中文字幕一区二区三区| 亚洲色图欧美在线| 国产欧美日韩亚州综合| 一区二区国产视频| 中文字幕欧美区| 久久久久久久久久久久久久久99| 51精品国自产在线| 欧美综合视频在线观看| 成人自拍视频在线观看| 久久国内精品自在自线400部| 午夜精品久久久久久久99水蜜桃| 亚洲婷婷在线视频| 欧美国产亚洲另类动漫| 国产日韩av一区| 久久一留热品黄| 久久久久久免费网| www成人在线观看| 久久婷婷国产综合国色天香 | 亚洲精品伦理在线| 日本一区二区三区高清不卡| 久久久久国产精品免费免费搜索| 精品美女在线观看| 久久免费的精品国产v∧| 26uuu久久综合| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日韩精品成人一区二区在线| 偷拍亚洲欧洲综合| 日本在线观看不卡视频| 免费人成精品欧美精品| 丝袜美腿成人在线| 九九在线精品视频| 国产永久精品大片wwwapp| 国产一区二区h| 国产白丝精品91爽爽久久| 成人av电影在线播放| 91丨九色porny丨蝌蚪| 色猫猫国产区一区二在线视频| 99视频在线观看一区三区| 91麻豆免费视频| 欧美群妇大交群的观看方式| 日韩限制级电影在线观看| 欧美va在线播放| 欧美国产欧美亚州国产日韩mv天天看完整| 国产肉丝袜一区二区| 中文字幕亚洲一区二区va在线| 一区二区在线观看视频在线观看| 午夜一区二区三区视频| 久久精品二区亚洲w码| 国产成人在线看| 91色porny| 欧美日韩视频一区二区| 日韩小视频在线观看专区| 久久久高清一区二区三区| 亚洲欧美在线高清| 日本成人在线看| 国产盗摄女厕一区二区三区| 一本色道久久综合精品竹菊| 91精品国产综合久久久久久久| 久久香蕉国产线看观看99| 综合中文字幕亚洲| 日韩国产欧美一区二区三区| 欧美日韩精品一区二区三区蜜桃 | 在线看不卡av| 精品国产一区二区在线观看| 中文字幕在线观看一区二区| 日韩av二区在线播放| 国产99精品视频| 欧美图区在线视频| 久久精品人人做人人综合 | 色综合色综合色综合色综合色综合| 欧美日韩不卡一区| 国产人妖乱国产精品人妖| 亚洲6080在线| 国产91在线观看| 3atv在线一区二区三区| 中文字幕一区二区三区av| 麻豆精品精品国产自在97香蕉| 97精品久久久久中文字幕| 日韩精品一区二区三区四区| 一区二区三区四区在线播放 | 日本不卡一二三| 99视频在线精品| www国产成人| 人人精品人人爱| 色欧美片视频在线观看| 久久久噜噜噜久噜久久综合| 天天综合色天天综合色h| 99麻豆久久久国产精品免费 | 日韩毛片高清在线播放| 国产一区二区福利视频| 欧美一级淫片007| 一区二区三区在线影院| 国产suv精品一区二区6| 欧美一区二区三区系列电影| 一区二区三区免费| 99国产精品久久久久久久久久久| 久久综合国产精品| 开心九九激情九九欧美日韩精美视频电影| 在线精品观看国产| 亚洲三级小视频| 国产成人av电影在线观看| 日韩精品在线一区二区| 日韩精品久久理论片| 欧美日韩大陆一区二区| 亚洲一区av在线| 欧美在线视频全部完| 亚洲美女免费视频| eeuss鲁片一区二区三区在线看| 久久蜜臀精品av| 国产一区二区女| 久久免费视频色| 国产激情偷乱视频一区二区三区| 精品国产亚洲一区二区三区在线观看| 日韩中文字幕麻豆| 欧美日韩电影在线播放| 视频在线观看一区二区三区| 欧美日韩亚洲高清一区二区| 亚洲国产aⅴ成人精品无吗| 精品视频在线免费看| 亚洲国产乱码最新视频| 欧美日韩在线播放| 三级欧美韩日大片在线看| 中文字幕一区在线观看视频| 99久久精品久久久久久清纯| 亚洲欧洲韩国日本视频| 91欧美一区二区| 伊人色综合久久天天人手人婷| 色成人在线视频| 亚洲国产精品久久久男人的天堂| 欧美三级在线播放| 日韩av一区二区三区四区| 精品入口麻豆88视频| 激情综合网av| 中文字幕在线观看不卡| 色8久久精品久久久久久蜜| 一级特黄大欧美久久久| 欧美妇女性影城| 国产美女精品人人做人人爽| 日本一区二区三区视频视频| av不卡免费电影| 亚洲一区二区三区精品在线| 3d成人h动漫网站入口| 国产一区美女在线| 亚洲视频在线一区二区| 欧美福利视频导航| 国产剧情av麻豆香蕉精品| 一色屋精品亚洲香蕉网站| 91福利在线导航| 日韩国产精品91| 久久久www免费人成精品| 91在线观看免费视频| 日韩高清欧美激情| 国产欧美精品区一区二区三区| 日本精品一区二区三区高清 | 中文字幕中文在线不卡住| 91官网在线免费观看| 麻豆免费看一区二区三区| 国产精品天美传媒沈樵| 在线观看日韩电影| 国产在线一区观看| 中文字幕一区二区三区不卡| 91麻豆精品国产91久久久资源速度 | 亚洲va欧美va国产va天堂影院| 欧美tickling挠脚心丨vk| 成人免费高清视频在线观看| 肉色丝袜一区二区| 国产精品女主播av| 欧美一区二区三区婷婷月色| 99精品欧美一区二区蜜桃免费 | 色综合久久综合中文综合网| 丝袜美腿亚洲色图| 久久久五月婷婷| 欧美日韩国产高清一区二区三区| 国产99久久久久| 午夜精品久久一牛影视| 中文子幕无线码一区tr| 欧美一区二区女人| 一本色道a无线码一区v| 国产尤物一区二区| 日韩成人午夜电影| 亚洲免费在线观看| 国产欧美日韩久久| 精品乱码亚洲一区二区不卡| 欧美性受xxxx黑人xyx性爽| 成人黄色一级视频|