mvc框架

1.mvc.xml 代码

<?xml version="1.0" encoding="UTF-8"?>
<mvc>
  <action name="login.action" class="com.gxa.bj.action.LoginAction"/>
<action name="product.action" class="com.gxa.bj.action.CheckProductAction"/>
<action name="Reg.action" class="com.gxa.bj.action.RegAction"/>
</mvc>

--------------------------------------------------------------------------------------------------------

2.读取mvc.xml代码的数据的代码

package com.gxa.bj.util;


import java.util.HashMap;
import java.util.Iterator;


import org.dom4j.*;
import org.dom4j.io.SAXReader;


import com.gxa.bj.action.IActionHandller;


/**
 * 用以读取mvc.xml的相关数据信息
 * @author 
 *
 */
public class XmlHelper {
/**
* 把xml里的数据转换成集合中的数据
* @return  
*/
public static HashMap<String, IActionHandller> getData() {
SAXReader reader = new SAXReader();
HashMap<String, IActionHandller> map = new HashMap<String, IActionHandller>();
try {
// 通过文件流的方式读取XML文件并转换成Document对象。内存中表示该文件的对象。
Document document = reader.read(XmlHelper.class
.getResourceAsStream("/mvc.xml"));
Element root = document.getRootElement();// 找到根元素
for (Iterator<?> i = root.elementIterator(); i.hasNext();) {//迭代器,依次找元素
Element element = (Element) i.next();

String actionName="";
IActionHandller actionHandller =null;
for (int j = 0, size = element.attributeCount();j < size; j++) {
//读取属性值
Attribute node = element.attribute(j);
//找到Attribute属性
if(node.getName().equals("name")){
actionName = node.getText();//取name的值
}
if(node.getName().equals("class")){
try {
actionHandller = (IActionHandller) Class.forName(node.getText()).newInstance();
//取class的值
} 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);//加到map中去

}
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return map;
}
/*public static void main(String[] args){
getData();
}*/
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值