mvc_config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config-mvc>
<actions>
<action input="/adduser"
inkRealize="ccom.ray.biz.inkrealize.AddUserAction1"
ink="com.ray.biz.ink.Action1"
success="/index1.jsp"
fail="/fail1.jsp"
>
</action>
<action input="/login.jsp2"
inkRealize="com.roy.struts.action.LoginAction2"
ink="com.roy.struts.action2"
success="/index2.jsp"
fail="/fail2.jsp"
>
</action>
</actions>
</config-mvc>
package com.ray.mvc.xmlreader;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import com.ray.mvc.pojo.ActionModel;
/**
* 功能:使用DOM4J加载xml文件,并获取action属性列表
* 时间:2009年6月14日
* @author Ray
* @version 1.0.1
* */
public class DOM4JReadXml {
//单例模式
private static DOM4JReadXml instance = new DOM4JReadXml();
//xml文件路径
private static final String FILE_NAME="/xml/mvc_config.xml";
private Document doc;
/**
* 构造函数
* 读取xml文件
* */
public DOM4JReadXml(){
//如果doc 为空
if(doc==null){
//通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
// File file = new File(FILE_NAME);
// //测试此抽象路径名表示的文件是否是一个标准文件
// System.out.println("file.isFile()="+file.isFile());
// if(!file.isFile()){//如果不是标准文件,抛出异常
// try {
// throw new IOException("Config file is not exist. " + FILE_NAME);
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// }else{
//创建SAXReader 实例
SAXReader saxReader = new SAXReader();
//设置编码为utf-8
saxReader.setEncoding("utf-8");
try {
// doc =saxReader.read(file);
doc = saxReader.read(getClass().getResourceAsStream(FILE_NAME));
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// }
}
// new XmlDBReader().getXML();
}
/**
* 获得xml文件的属性列表
* @return list
* @throws Exception
*/
public List getAttributList(){
List list=new ArrayList();
//获取到 xml文件的actions 节点
Element actions = (Element) doc.selectSingleNode("/config-mvc/actions");
Iterator iterator = actions.elementIterator("action");
while(iterator.hasNext()){//如果仍有元素可以迭代,则返回 true
Element action = (Element) iterator.next();
//创建ActionModel 实例
ActionModel model=new ActionModel();
// System.out.println("input="+action.attributeValue("input"));
// System.out.println("ink="+action.attributeValue("ink"));
// System.out.println("inkRealize="+action.attributeValue("inkRealize"));
// System.out.println("fail="+action.attributeValue("fail"));
// System.out.println("success="+action.attributeValue("success"));
// System.out.println("-----------------------------------------------");
model.setInput(action.attributeValue("input"));
model.setInk(action.attributeValue("ink"));
model.setInkRealize(action.attributeValue("inkRealize"));
model.setFail(action.attributeValue("fail"));
model.setSuccess(action.attributeValue("success"));
list.add(model);
}
return list;
}
public static DOM4JReadXml getInstance(){
return instance;
}
}
望各位提出意见 !!!
分享到:
- 2009-06-16 21:14
- 浏览 1304
- 评论(0)
- 论坛回复 / 浏览 (0 / 1771)
- 查看更多
相关推荐
这里提到的三个Jar文件——log4j-1.2.15.jar、dom4j-1.6.1.jar以及dclframe.1.0.jar,都是在Java开发中常用的基础组件,对于构建MVC框架有着不可或缺的作用。 1. **log4j-1.2.15.jar**: Log4j 是Apache组织提供的...
Struts2是一个流行的Java Web应用程序框架,它基于MVC(模型-视图-控制器)设计模式,用于构建可维护性和可扩展性高的Web应用。在Struts2中,配置文件`struts.xml`扮演着核心角色,它定义了动作(Action)、包...
在IT行业中,构建一个自定义的类似于Struts的MVC框架是一项挑战性的任务,它涉及到对Web开发模式的深入理解,以及对Java、JSP、XML解析等技术的熟练运用。Struts作为Java EE领域中著名的MVC框架,其设计思想和实现...
3. **模型视图控制器(MVC)架构**:DOM4J的API设计遵循MVC模式,使得XML处理更加模块化,便于维护和扩展。 4. **XPath支持**:DOM4J提供了对XPath表达式的支持,允许快速定位XML文档中的元素和属性。 5. **事件...
其他如 `antlr`、`dom4j`、`javassist` 等是 Hibernate 的依赖库,`slf4j` 用于日志,以及对应数据库驱动的 jar 包。 2. **web.xml 配置**: - 配置 `DispatcherServlet` 作为 Spring MVC 的前端控制器,负责处理...
Hibernate 3.6.8 需要引入的 jar 包有 hibernate3.jar、hibernate-jpa-2.0-api-1.0.1.Final.jar、antlr-2.7.6.jar、commons-collections-3.1、dom4j-1.6.1.jar、javassist-3.12.0.GA.jar、jta-1.1.jar、slf4j-api-...
这里我们关注的“mymvc自己写的ajax框架”显然是一款基于MVC(Model-View-Controller)模式构建的个人项目,它允许开发者通过Ajax技术实现页面的异步更新,提高用户体验,同时保持服务器负载均衡。以下将详细介绍...
ASP.NET MVC框架是微软开发的一款用于构建Web应用程序的开源框架,它基于模型-视图-控制器(MVC)设计模式,提供了高度可测试性、灵活性和控制力。本系列课程的第八部分专注于AJAX(Asynchronous JavaScript and XML...
标题中的".NET MVC 模仿Webqq"是一个项目实践,旨在使用Microsoft的.NET MVC框架来构建一个类似于WebQQ的应用程序。这个项目可以帮助开发者学习和掌握如何利用.NET MVC进行Web开发,以及实现类似即时通讯应用的功能...
“mvc加载zTree”这个标题指出我们将探讨如何在ASP.NET MVC框架下使用zTree,一个流行的JavaScript树形插件。zTree是一个轻量级、可定制且功能丰富的库,常用于构建网站的目录结构、组织树或者层级展示数据。 **...
Zend Framework是一个开源、企业级的PHP应用框架,遵循MVC(Model-View-Controller)设计模式。它提供了大量组件,包括XML处理、数据库操作、URL路由等,以帮助构建健壮的Web应用。在XML方面,Zend Framework提供`...
XML(eXtensible Markup Language)则是一种可扩展的标记语言,主要用来存储和传输数据。与HTML不同,XML并不关注数据的显示格式,而是强调数据的结构化表示,使其易于解析和共享。XML文档可以包含自定义的标签来...
在整合过程中,如果需要自定义Hibernate的映射文件或处理XML配置,DOM4J将是很好的工具。 总结,整合Hibernate与Struts2能够充分发挥两者的优势,简化开发流程,提高代码质量。通过深入理解这两个框架,结合实际...
- **定义**:通过自定义中间件、过滤器等方式进一步定制和扩展ASP.NET MVC框架。 - **Key Features**: - **Custom Filters**:自定义过滤器,扩展过滤行为。 - **Middleware**:在请求处理管道中插入自定义逻辑。...
5. **MVC模式**:ASP.NET MVC是一种基于模型-视图-控制器的设计模式,鼓励分离关注点,提高代码可测试性和可维护性。 【XML基础】 XML,即可扩展标记语言(eXtensible Markup Language),是一种用于存储和传输...
3. **天目MVC框架**:虽然没有提供具体框架的信息,但一般来说,一个MVC框架会提供路由、依赖注入、模型绑定、控制器基类等基础功能,简化开发流程。天目框架可能是为PHP量身定制的,支持快速构建Web应用,特别是...
4. **MVC模式**:ASP.NET MVC框架提供了模型-视图-控制器架构,使开发更面向对象,分离关注点。 **XML详解** XML(Extensible Markup Language)是一种标记语言,常用于数据交换和存储。其主要特点包括: 1. **可...
XML,全称为Extensible Markup Language(可扩展标记语言),是一种用于存储和传输数据的标准格式。它的设计目标是简化数据的共享和交换,尤其在不同的应用程序和平台之间。XML使用自定义的标签来描述数据,使得数据...
Spring MVC是Spring框架的一部分,用于构建Web应用,它允许开发者用Java或XML定义控制器和视图映射,实现了业务逻辑与呈现逻辑的分离。 总的来说,XML和Java的结合在Web应用开发中起到了关键作用,XML提供了一种...