MVC----mvc.xml配置和mvcHelp类

来源:互联网 发布:php 图片处理库 编辑:程序博客网 时间:2024/06/06 03:40

mvc.xml:



<?xml version="1.0" encoding="UTF-8"?>

<mvc>
  <action name="login.action" class="action.LoginAction"/>
  <action name="create.action" class="action.CreateAction"/>

</mvc>


mvcHelp:



package util;


import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;


import action.IActionHandller;


//用于读取XML的相关信息
public class XmlHelp
{
public static HashMap<String,IActionHandller> getData()
{
SAXReader reader =new SAXReader();
//通过文件流的方式读取XML文件并转换为Document对象
//内存中表示文件的对象
HashMap<String,IActionHandller> map =new HashMap<String,IActionHandller>();
try 
{
Document document = reader.read(XmlHelp.class.getResourceAsStream("/mvc.xml"));
Element root = document.getRootElement();
  // iterate through child elements of root
       for (Iterator i = root.elementIterator(); i.hasNext(); )
       {
           Element element = (Element) i.next();
           System.out.println("test");
           String actionName="";
           IActionHandller actionHandller=null;
           for(int j=0,size=element.attributeCount();j<size;j++)
           {
            Attribute node =element.attribute(j);
            //System.out.println("name:"+node.getName()+"value:"+node.getText());
            if(node.getName().equals("name"))
            {
            actionName=node.getText();
            }
            if(node.getName().equals("class"))
            {
            try 
            {
actionHandller = (IActionHandller)Class.forName(node.getText()).newInstance();

            catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
            }
           
           }
           map.put(actionName, actionHandller);
       }


catch (DocumentException e)
{

e.printStackTrace();
}
return map;
}



}

0 0
原创粉丝点击