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

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

?? xmlprocesserimpl.java

?? 類似struts2的mvc框架
?? JAVA
字號:
package pp.mvc.core.impl;

import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import pp.mvc.core.XmlProcesser;
import pp.mvc.domain.ActionDefine;
import pp.mvc.domain.Result;

/**
 * 
 * @author panhuizi
 * 
 */
public class XmlProcesserImpl implements XmlProcesser {

	private static final String PP_XML_FILE = "/ppmvc.xml";

	private Map<String, ActionDefine> actionDefines = new HashMap<String, ActionDefine>();

	/**
	 * 獲取所有的<packageNameSpace+actionName,ActionDefine>映射
	 */
	public Map<String, ActionDefine> getAllActionDefineMapsByPpXmlFile()
			throws Exception {
		this.doParse(PP_XML_FILE);
		return actionDefines;
	}

	/**
	 * 讀取所有xml文件,以便添加所有文件的映射
	 * 
	 * @param xmlFile
	 * @throws Exception
	 */
	private void doParse(String xmlFile) throws Exception {

		Map<String, ActionDefine> actionDefines = this.getAXmlMaps(xmlFile);
		if (actionDefines != null) {
			this.actionDefines.putAll(actionDefines);
		}
		List<String> files = this.getAXMLIncludeFileName(xmlFile);
		if (files != null && files.size() > 0) {
			for (String f : files) {
				/* 遞歸調用自身以便添加所有ActionPackage到list */
				try {
					this.doParse("/" + f);
				} catch (Exception e) {
					throw new RuntimeException("找不到文件:" + f);
				}
			}
		}
	}

	/**
	 * 獲取一個xml文件中所有的<packageNameSpace+actionName,ActionDefine>映射
	 * 
	 * @param xmlFile
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private Map<String, ActionDefine> getAXmlMaps(String xmlFile)
			throws Exception {

		Map<String, ActionDefine> actionDefines = new HashMap<String, ActionDefine>();

		/* 讀取PP_XML_FILE文件 */
		InputStream is = this.getClass().getResourceAsStream(xmlFile);
		SAXReader xmlReader = new SAXReader();
		Document doc = xmlReader.read(is);
		/* 獲取package節(jié)點 */
		Element root = doc.getRootElement();
		List<Element> ps = root.elements("package");
		if (ps != null && ps.size() > 0) {
			for (Element p : ps) {
				/* 獲取package節(jié)點內名為name的元素 */
				Attribute packageName = p.attribute("name");
				Attribute packageNamespace = p.attribute("namespace");

				List<Element> as = p.elements("action");
				if (as != null && as.size() > 0) {
					for (Element a : as) {
						ActionDefine actionDefine = new ActionDefine();
						Attribute actionName = a.attribute("name");
						Attribute actionMethod = a.attribute("method");
						Attribute actionClass = a.attribute("class");
						Map<String, Result> results = new HashMap<String, Result>();
						List<Element> rs = a.elements("result");
						if (rs != null && rs.size() > 0) {
							for (Element r : rs) {
								Result result = new Result();
								Attribute resultName = r.attribute("name");
								Attribute resultType = r.attribute("type");
								/* 獲取result的值 */
								Object resultData = r.getData();
								result.setLoaction((String) resultData);
								result.setName(resultName.getText());
								if (resultType != null) {
									result.setType(resultType.getText());
								}
								results.put(resultName.getText(), result);
							}
						} else {
							throw new RuntimeException("名為:["
									+ actionName.getText()
									+ "]的action不存在result");
						}
						if (actionMethod != null) {
							actionDefine.setMethod(actionMethod.getText());
						}
						actionDefine.setName(actionName.getText());
						actionDefine.setType(actionClass.getText());
						actionDefine.setResults(results);

						if (packageNamespace == null
								|| packageNamespace.getText().equals("/")) {
							actionDefines.put("/" + actionName.getText(),
									actionDefine);
						} else {
							actionDefines.put(packageNamespace.getText() + "/"
									+ actionName.getText(), actionDefine);
						}
					}

				} else {
					throw new RuntimeException("名為:[" + packageName.getText()
							+ "]的package不存在action");
				}
			}
			return actionDefines;
		}
		return null;

	}

	/**
	 * 獲取一個xml文件中所有包含的文件的文件名
	 * 
	 * @param xmlFile
	 * @return
	 * @throws Exception
	 */
	@SuppressWarnings("unchecked")
	private List<String> getAXMLIncludeFileName(String xmlFile)
			throws Exception {

		List<String> files = new ArrayList<String>();

		InputStream is = this.getClass().getResourceAsStream(xmlFile);
		SAXReader xmlReader = new SAXReader();
		Document doc = xmlReader.read(is);
		Element root = doc.getRootElement();
		List<Element> includes = root.elements("include");
		if (includes != null && includes.size() > 0) {
			for (Element include : includes) {
				Attribute file = include.attribute("file");
				files.add(file.getText());
			}
			return files;
		}
		return null;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线三级| 亚洲午夜激情网页| 亚洲午夜电影网| 国产成人精品免费视频网站| 欧美色爱综合网| 中文字幕中文乱码欧美一区二区 | 国产精品一区二区久久精品爱涩 | 91在线视频18| 久久久久国产精品厨房| 亚洲丶国产丶欧美一区二区三区| 成人av网在线| 国产欧美1区2区3区| 韩国理伦片一区二区三区在线播放| 欧美午夜精品久久久久久孕妇| 国产精品另类一区| 国产乱子轮精品视频| 亚洲精品一线二线三线| 日韩av一区二区在线影视| 在线免费观看一区| 亚洲一级二级在线| 色就色 综合激情| 亚洲精选在线视频| 色94色欧美sute亚洲线路二 | 麻豆成人av在线| 欧美一区二区三区在线观看视频 | 日韩一二三四区| 蜜桃av一区二区在线观看| 91精品婷婷国产综合久久竹菊| 一二三区精品视频| 欧美日韩亚洲国产综合| 亚洲v精品v日韩v欧美v专区 | 日韩和欧美一区二区| 欧美中文一区二区三区| 亚洲电影在线免费观看| 9191精品国产综合久久久久久 | 国产91精品一区二区| 亚洲国产高清aⅴ视频| 高清在线不卡av| 国产精品剧情在线亚洲| 91麻豆自制传媒国产之光| 成人欧美一区二区三区| 色婷婷av久久久久久久| 亚洲一区在线观看免费| 欧美精选在线播放| 老司机精品视频线观看86| 久久综合九色综合97婷婷女人| 国产精品亚洲午夜一区二区三区| 国产无一区二区| 91在线视频播放地址| 亚洲成av人片在www色猫咪| 日韩三级在线观看| 丁香六月综合激情| 一区二区三区精品在线| 欧美一区二区精品在线| 国产精品1024久久| 亚洲伦理在线免费看| 91精品国产aⅴ一区二区| 国产麻豆9l精品三级站| 亚洲精品成人a在线观看| 日韩一区二区三区在线| av亚洲精华国产精华| 亚洲一区二区三区在线播放| 精品美女一区二区| eeuss鲁片一区二区三区在线观看| 亚洲国产精品久久不卡毛片| 精品久久久网站| 91久久精品国产91性色tv| 精品系列免费在线观看| 日韩理论片网站| 欧美成人综合网站| 色综合久久久久久久久久久| 久久疯狂做爰流白浆xx| 有码一区二区三区| 国产日韩精品一区| 91精品免费观看| 99精品在线观看视频| 国内外成人在线视频| 亚洲国产成人av网| 国产精品视频麻豆| 日韩欧美黄色影院| 欧美在线|欧美| 成人久久18免费网站麻豆 | 成人精品电影在线观看| 日韩电影一二三区| 亚洲另类在线一区| 国产精品免费视频观看| 精品粉嫩aⅴ一区二区三区四区 | 91国模大尺度私拍在线视频| 国产一区在线观看麻豆| 秋霞午夜鲁丝一区二区老狼| 亚洲黄色录像片| 国产精品福利在线播放| 久久久久久亚洲综合影院红桃| 欧美一区二区三区四区五区| 在线免费不卡电影| 91女人视频在线观看| 懂色中文一区二区在线播放| 国产一区久久久| 国产揄拍国内精品对白| 免费看日韩a级影片| 日韩精品电影在线| 午夜欧美在线一二页| 亚洲午夜在线电影| 亚洲一区二区美女| 亚洲影院免费观看| 亚洲国产精品久久一线不卡| 亚洲美女视频在线观看| 亚洲婷婷在线视频| 亚洲天堂2014| 亚洲精品高清在线| 亚洲精品乱码久久久久久| 亚洲人123区| 一区二区三区在线视频免费 | 日韩一区二区三区视频在线| 欧美日韩国产片| 在线视频国内一区二区| 色婷婷国产精品| 精品视频在线免费看| 欧美日韩黄视频| 日韩一区二区三区三四区视频在线观看 | 国产综合一区二区| 国产精品一品二品| 波多野结衣中文字幕一区| 99久久综合色| 在线观看日韩电影| 91精品国产欧美一区二区18| 日韩久久久精品| 国产精品色呦呦| 1区2区3区欧美| 亚洲va韩国va欧美va精品 | 亚洲色图清纯唯美| 亚洲成人久久影院| 久草在线在线精品观看| 国产丶欧美丶日本不卡视频| 99国产精品视频免费观看| 欧美色窝79yyyycom| 精品成人在线观看| 国产欧美一区二区精品久导航| 亚洲视频在线一区观看| 天天影视涩香欲综合网 | 欧美激情中文字幕一区二区| 一区二区三区四区激情| 免费看日韩精品| 99久久99久久精品国产片果冻| 欧美日韩国产天堂| 国产午夜精品美女毛片视频| 亚洲精品成a人| 国产精一品亚洲二区在线视频| 91丨porny丨户外露出| 91精品国模一区二区三区| 中文字幕国产一区二区| 日本伊人色综合网| 99久久婷婷国产综合精品| 91精品国产综合久久久久久久久久| 亚洲精品一区二区三区精华液| 亚洲精品少妇30p| 久久福利资源站| 在线观看日韩高清av| 久久久久久久久蜜桃| 婷婷丁香久久五月婷婷| 99久久伊人久久99| 日韩欧美一区二区在线视频| 亚洲日本在线天堂| 精品一区二区影视| 欧美三级电影精品| 中文字幕的久久| 国产在线播放一区二区三区| 欧美日韩国产区一| 亚洲三级电影网站| 高清beeg欧美| 久久尤物电影视频在线观看| 亚洲一区二区视频在线观看| 风流少妇一区二区| 精品欧美乱码久久久久久| 亚洲国产欧美在线人成| 色综合天天天天做夜夜夜夜做| 久久网站最新地址| 久久se精品一区精品二区| 欧美男女性生活在线直播观看| 亚洲三级电影全部在线观看高清| 国产精品99精品久久免费| 欧美一激情一区二区三区| 亚洲福利国产精品| 欧美综合久久久| 亚洲另类春色国产| 北条麻妃一区二区三区| 国产丝袜欧美中文另类| 国产一区中文字幕| 精品裸体舞一区二区三区| 捆绑调教一区二区三区| 制服丝袜一区二区三区| 日韩 欧美一区二区三区| 欧美日韩视频在线一区二区| 亚洲一区二区四区蜜桃| 在线观看免费亚洲| 亚洲综合一区在线| 欧美三片在线视频观看| 午夜成人在线视频| 欧美一级日韩一级| 青娱乐精品视频在线|