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

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

?? gdparsexml.java

?? 本書由淺入深、循序漸進地介紹了MVC的體系結構和如何構建一個基于MVC的Web框架
?? JAVA
字號:
package com.gd.mvc.util;

import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

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

public class GdParseXml {
	private Document document;//獲取指定Xml的document
    private String path;//獲取從頁面傳來的訪問路徑
    private String action;//獲取從頁面傳來的動作
    private String forwardJsp;//獲取Xml設定的返回的頁面
    private String forwardJspPath;//獲取Xml設定的返回頁面的path
    private String methodForwardJsp;//獲取Xml中方法對應的forward
    private String actionName;	//獲取Xml中訪問路徑對應的actionName
    private List voId = new ArrayList();//獲取Xml中設定的voId
    private List voClass = new ArrayList();//獲取Xml中設定的voClass
    private List voType = new ArrayList();//獲取Xml中設定的voType
    private List voValidate = new ArrayList();//獲取Xml中設定的voValidate
    private List voTable = new ArrayList();//獲取Xml中設定的voTable
    private String method;//獲取Xml中對應的方法  
    private String prefix;//獲取Xml中設定的頁面的前綴
    private String suffix;//獲取Xml中設定的頁面后綴
    private String extendsAction;//獲取Xml中設定的是否繼承GdAction
	

	//從文件讀取XML,輸入文件名,返回XML文檔
    public void read(String fileName) throws MalformedURLException, DocumentException {
       SAXReader reader = new SAXReader();
       document = reader.read(new File(fileName));
    }
    
    //獲取根節點
    public Element getRootElement(Document doc){
        return doc.getRootElement();
    }
    
    /**
     * 用來解析此架構的xml檔,產生對應的參數,即可在bean中設定VO,也可以在Page中設定VO
     * @return void
     */
    public void parseXml() {
    	List listPathAttribute = document.selectNodes("/nancy-config/page/@path" ); //獲取所有page的path屬性
		List listPageElement = document.selectNodes("/nancy-config/page" );//獲取所有的page
        Iterator iteratorListPathAttribute = listPathAttribute.iterator();
        Iterator iteratorPageElement = listPageElement.iterator();
        int m = 0;//存放VO的key
        int i = 0;//用于VO的key值遞增
        //假如Xml中有設定page和page的path屬性
        while(iteratorListPathAttribute.hasNext() && iteratorPageElement.hasNext()) {
           Attribute attribute = (Attribute)iteratorListPathAttribute.next();//獲取第一個path屬性
           Element element = (Element)iteratorPageElement.next();//獲取第一個page下面的元素
           Iterator iteratorForward = element.elementIterator("forward");//獲取第一個page下面的forward元素
           Iterator iteratorValueObject = element.elementIterator("valueObject");//獲取第一個page下面的valueObject元素
           Iterator iteratorAction = element.elementIterator("action");//獲取第一個page下面的action元素
           
           if(attribute.getValue().trim().equals(path)) {//如果獲得的path和xml配置的一樣
        	   actionName = element.attributeValue("actionName");//獲取該頁面即path對應的actionName
           	   while(iteratorForward.hasNext()) {//就取得該path下所有要返回的頁面
                   Element elementForward = (Element)iteratorForward.next();
                   forwardJsp = elementForward.attributeValue("name");//獲取forwardJsp的名稱
                   forwardJspPath = elementForward.attributeValue("path");//獲取forwardJsp的的路徑
           	   }
               while(iteratorValueObject.hasNext()) {//獲得valueObject的屬性
            	   m = i++;//用于VO的key值遞增
                   Element elementValueObject = (Element)iteratorValueObject.next(); 
                   voId.add(m, elementValueObject.attributeValue("id"));//獲取VO的id
                   voClass.add(m, elementValueObject.attributeValue("class"));//獲取VO的class
                   voType.add(m, elementValueObject.attributeValue("type"));//獲取該VO是單筆還是多筆
                   voValidate.add(m, elementValueObject.attributeValue("validate"));//獲取該VO是否驗證
                   voTable.add(m, elementValueObject.attributeValue("table"));//獲取VO對應的table
               }
               while(iteratorAction.hasNext()) {
                   Element elementAction = (Element)iteratorAction.next();
                   String actionFlag = elementAction.attributeValue("action").trim();
                   if (actionFlag.equals(action)) {//如果action與頁面上的相同
                       method = elementAction.attributeValue("method");//就獲取該action相對應的method 
                       methodForwardJsp = elementAction.attributeValue("forward");//就獲取該action相對應的forward 
                   	   break;
                   } 
               }
               break;
           }
        }
        
        List listBeanAttribute = document.selectNodes("/nancy-config/bean/@id" );//獲取所有bean的id屬性
		List listBeanElement = document.selectNodes("/nancy-config/bean" );//獲取所有的bean
        Iterator iteratorBeanPathAttribute = listBeanAttribute.iterator();
        Iterator iteratorBeanElement = listBeanElement.iterator();
        //假如Xml中有設定bean和bean的id屬性
        while(iteratorBeanPathAttribute.hasNext() && iteratorBeanElement.hasNext()) {
        	Attribute attribute = (Attribute)iteratorBeanPathAttribute.next();
            Element element = (Element)iteratorBeanElement.next();
            if(attribute.getValue().equals("viewResolver")) {//假如有id為viewResolver的bean
            	Iterator iteratorPrefix = element.elementIterator("prefix");//獲取id為viewResolver的bean下的prefix元素
            	Iterator iteratorSuffix = element.elementIterator("suffix");//獲取id為viewResolver的bean下的suffix元素
            	Element elementPrefix = (Element)iteratorPrefix.next();
            	Element elementSuffix = (Element)iteratorSuffix.next();
            	prefix = elementPrefix.getText();//獲得viewResolver指定的前綴prefix
            	suffix = elementSuffix.getText();//獲得viewResolver指定的后綴suffix  
            }
            if(attribute.getValue().equals("actionResolver")) {//假如有id為actionResolver的bean
            	Iterator iteratorExtends = element.elementIterator("extends");
            	Element elementExtends = (Element)iteratorExtends.next();
            	extendsAction = elementExtends.getText();//獲得actionResolver指定的繼承GdAction 
            }
            if(attribute.getValue().equals("valueObjects")) {//假如有id為valueObjects的bean
            	Iterator iteratorValueObject = element.elementIterator("valueObject");
            	while(iteratorValueObject.hasNext()) {//獲得valueObject的屬性
            		m = i++;
                    Element elementValueObject = (Element)iteratorValueObject.next(); 
                    voId.add(m, elementValueObject.attributeValue("id"));//獲取VO的id
                    voClass.add(m, elementValueObject.attributeValue("class"));//獲取VO的class
                    voType.add(m, elementValueObject.attributeValue("type"));//獲取該VO是單筆還是多筆
                    voValidate.add(m, elementValueObject.attributeValue("validate"));//獲取該VO是否驗證
                    voTable.add(m, elementValueObject.attributeValue("table"));//獲取VO對應的table
                } 
            }
        }
    	
    }

	/**獲取action
	 * @return the action
	 */
	public String getAction() {
		return action;
	}

	/**設定action
	 * @param action the action to set
	 */
	public void setAction(String action) {
		this.action = action;
	}

	/**獲取actionName
	 * @return the actionName
	 */
	public String getActionName() {
		return actionName;
	}

	/**設定actionName
	 * @param actionName the actionName to set
	 */
	public void setActionName(String actionName) {
		this.actionName = actionName;
	}

	/**獲取document
	 * @return the document
	 */
	public Document getDocument() {
		return document;
	}

	/**設定document
	 * @param document the document to set
	 */
	public void setDocument(Document document) {
		this.document = document;
	}

	/**獲取forwardJsp
	 * @return the forwardJsp
	 */
	public String getForwardJsp() {
		return forwardJsp;
	}

	/**設定forwardJsp
	 * @param forwardJsp the forwardJsp to set
	 */
	public void setForwardJsp(String forwardJsp) {
		this.forwardJsp = forwardJsp;
	}

	/**獲取forwardJspPath
	 * @return the forwardJspPath
	 */
	public String getForwardJspPath() {
		return forwardJspPath;
	}

	/**設定forwardJspPath
	 * @param forwardJspPath the forwardJspPath to set
	 */
	public void setForwardJspPath(String forwardJspPath) {
		this.forwardJspPath = forwardJspPath;
	}

	/**獲取method
	 * @return the method
	 */
	public String getMethod() {
		return method;
	}

	/**設定method
	 * @param method the method to set
	 */
	public void setMethod(String method) {
		this.method = method;
	}

	/**獲取methodForwardJsp
	 * @return the methodForwardJsp
	 */
	public String getMethodForwardJsp() {
		return methodForwardJsp;
	}

	/**設定methodForwardJsp
	 * @param methodForwardJsp the methodForwardJsp to set
	 */
	public void setMethodForwardJsp(String methodForwardJsp) {
		this.methodForwardJsp = methodForwardJsp;
	}

	/**獲取path
	 * @return the path
	 */
	public String getPath() {
		return path;
	}

	/**設定path
	 * @param path the path to set
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**獲取prefix
	 * @return the prefix
	 */
	public String getPrefix() {
		return prefix;
	}

	/**設定prefix
	 * @param prefix the prefix to set
	 */
	public void setPrefix(String prefix) {
		this.prefix = prefix;
	}

	/**獲取suffix
	 * @return the suffix
	 */
	public String getSuffix() {
		return suffix;
	}

	/**設定suffix
	 * @param suffix the suffix to set
	 */
	public void setSuffix(String suffix) {
		this.suffix = suffix;
	}

	/**獲取voClass
	 * @return the voClass
	 */
	public List getVoClass() {
		return voClass;
	}

	/**設定voClass
	 * @param voClass the voClass to set
	 */
	public void setVoClass(List voClass) {
		this.voClass = voClass;
	}

	/**獲取voId
	 * @return the voId
	 */
	public List getVoId() {
		return voId;
	}

	/**設定voId
	 * @param voId the voId to set
	 */
	public void setVoId(List voId) {
		this.voId = voId;
	}

	/**獲取voType
	 * @return the voType
	 */
	public List getVoType() {
		return voType;
	}

	/**設定voType
	 * @param voType the voType to set
	 */
	public void setVoType(List voType) {
		this.voType = voType;
	}

	/**獲取extendsAction
	 * @return the extendsAction
	 */
	public String getExtendsAction() {
		return extendsAction;
	}

	/**設定extendsAction
	 * @param extendsAction the extendsAction to set
	 */
	public void setExtendsAction(String extendsAction) {
		this.extendsAction = extendsAction;
	}

	/**獲取voValidate
	 * @return the voValidate
	 */
	public List getVoValidate() {
		return voValidate;
	}

	/**設定voValidate
	 * @param voValidate the voValidate to set
	 */
	public void setVoValidate(List voValidate) {
		this.voValidate = voValidate;
	}

	/**獲取voTable
	 * @return the voTable
	 */
	public List getVoTable() {
		return voTable;
	}

	/**設定voTable
	 * @param voTable the voTable to set
	 */
	public void setVoTable(List voTable) {
		this.voTable = voTable;
	} 
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
极品瑜伽女神91| 久久婷婷国产综合精品青草| 国产精品久久二区二区| 国产一区三区三区| 日韩精品一区二区在线观看| 婷婷六月综合网| 欧美日韩专区在线| 午夜精品福利一区二区三区蜜桃| 日本高清成人免费播放| 亚洲欧美日韩国产手机在线 | 韩国女主播成人在线| 日韩一区二区在线观看视频| 日本不卡视频在线观看| 欧美一级欧美一级在线播放| 久久99精品国产91久久来源| 欧美精品色综合| 免费人成精品欧美精品| 日韩精品一区国产麻豆| 国产真实乱子伦精品视频| 精品成人在线观看| 国产精品99久久久| 亚洲欧洲性图库| 色综合久久综合网| 性欧美疯狂xxxxbbbb| 日韩欧美国产一区二区三区| 韩国中文字幕2020精品| 国产精品视频一区二区三区不卡| 色综合久久久久综合体| 亚洲成人黄色影院| 日韩你懂的在线播放| 国产一区二区三区日韩| 综合分类小说区另类春色亚洲小说欧美| 99久久国产综合精品麻豆| 国产精品午夜在线| 欧美在线色视频| 免费av网站大全久久| 久久久久亚洲蜜桃| 成人精品在线视频观看| 亚洲宅男天堂在线观看无病毒| 91麻豆精品国产91久久久| 日本aⅴ亚洲精品中文乱码| 国产欧美一区二区精品性| 色综合久久88色综合天天免费| 日本中文在线一区| 欧美激情中文字幕| 欧美日韩一区二区在线观看视频| 黄色精品一二区| 亚洲精品乱码久久久久久黑人| 日韩一区二区三区在线| 99久久精品国产一区二区三区| 日韩电影免费在线| 亚洲美女屁股眼交| 精品国产乱码久久久久久图片| 色素色在线综合| 福利91精品一区二区三区| 亚洲成人激情av| 亚洲国产成人私人影院tom| 56国语精品自产拍在线观看| www.成人网.com| 亚洲aaa精品| 国产精品不卡一区二区三区| 日韩一级完整毛片| 色综合色狠狠综合色| 国产精品一区二区黑丝| 日韩精品成人一区二区三区| 国产精品久久久久一区二区三区共| 欧美成人一区二区三区在线观看 | 久久网站热最新地址| 欧美日韩一区不卡| 波多野结衣一区二区三区 | 欧美日韩国产免费一区二区| 成人一道本在线| 日本一区中文字幕| 国产精品久久久99| 2023国产精品视频| 日韩视频在线永久播放| 欧美色大人视频| 99久久免费国产| 床上的激情91.| 精品一区二区三区久久| 日韩在线一区二区三区| 亚洲国产va精品久久久不卡综合| 国产精品美女视频| 欧美激情一区二区三区| 久久色在线视频| 日韩欧美中文字幕公布| 日韩欧美国产午夜精品| 欧美日韩日日骚| 欧美在线一区二区| 欧美色老头old∨ideo| 91美女精品福利| 91亚洲资源网| 一本一道久久a久久精品| 99久久国产免费看| 成人激情免费视频| www.久久精品| 色素色在线综合| 在线观看av不卡| 欧美高清dvd| 日韩三级电影网址| 精品三级av在线| 国产亚洲人成网站| 国产欧美精品一区| 国产精品护士白丝一区av| 国产精品福利一区| 18成人在线观看| 亚洲精品国产品国语在线app| 亚洲国产精品高清| 中文字幕久久午夜不卡| 国产欧美一区二区精品性色 | 欧美日韩你懂得| 欧美性猛交一区二区三区精品| 日本韩国视频一区二区| 在线免费一区三区| 7799精品视频| 久久影视一区二区| 国产精品福利影院| 夜夜嗨av一区二区三区网页| 五月天国产精品| 国产精品综合二区| 91偷拍与自偷拍精品| 欧美午夜免费电影| 日韩精品自拍偷拍| 欧美国产日韩精品免费观看| 亚洲精品欧美综合四区| 人妖欧美一区二区| 国产精品香蕉一区二区三区| 91日韩一区二区三区| 欧美性极品少妇| 欧美一区二区视频网站| 日本一区二区不卡视频| 亚洲精品写真福利| 蜜臀av一区二区在线免费观看| 成人午夜短视频| 欧美另类变人与禽xxxxx| 日韩精品一区二区在线观看| 中文字幕不卡在线播放| 亚洲国产视频在线| 国产69精品久久777的优势| 色婷婷精品久久二区二区蜜臀av | 国产91丝袜在线播放九色| 一本大道久久a久久综合婷婷| 这里只有精品电影| 中文字幕一区二区三区不卡 | 久久精品亚洲乱码伦伦中文| 国产精品热久久久久夜色精品三区 | 成人一区二区三区视频| 色综合久久久久综合99| 久久综合精品国产一区二区三区| 一区二区三区在线视频免费| 激情欧美一区二区| 欧美影院一区二区三区| 国产夜色精品一区二区av| 亚洲一区二区欧美激情| 精品一区二区免费| 色婷婷综合在线| 国产日韩欧美高清| 久久66热偷产精品| 欧美裸体一区二区三区| 亚洲三级电影网站| 岛国av在线一区| 精品国产一区久久| 日本色综合中文字幕| 在线日韩国产精品| 亚洲欧美一区二区三区孕妇| 国产一区二区三区综合| 7777精品伊人久久久大香线蕉超级流畅| 国产精品久久久一本精品| 国产成人夜色高潮福利影视| 69久久99精品久久久久婷婷 | 国产精品狼人久久影院观看方式| 精品一区二区三区视频| 678五月天丁香亚洲综合网| 亚洲综合图片区| 色久综合一二码| 亚洲色图在线播放| 不卡一区二区在线| 国产亚洲人成网站| 国产99久久久国产精品| 91麻豆精品国产自产在线| 亚洲日本丝袜连裤袜办公室| 国产99久久久国产精品免费看 | 国产午夜精品久久久久久久 | 亚洲一级片在线观看| 欧美日韩国产高清一区二区| 青青草成人在线观看| 欧美精品一区二区三区久久久| 国产91精品精华液一区二区三区 | 视频在线观看一区| 精品日本一线二线三线不卡| 国产成人aaaa| 亚洲欧美日韩国产成人精品影院 | 91福利社在线观看| 日韩黄色在线观看| 久久精品一区二区三区av| 色综合久久九月婷婷色综合| 日本不卡不码高清免费观看| 欧美精彩视频一区二区三区| 在线视频观看一区| 精品在线一区二区|