digester.addObjectCreate("报表信息", Report.class);
digester.addObjectCreate("报表信息/查询条件", QueryCondition.class);
digester.addObjectCreate("报表信息/查询语句", QueryParagraph.class);
digester.addObjectCreate("报表信息/查询语句/普通查询", NormalQuery.class);
digester.addObjectCreate("报表信息/查询语句/普通查询/SQL", Sql.class);
digester.addSetNext("报表信息/查询条件", "setQueryCondition");
digester.addSetNext("报表信息/查询语句", "setQueryParagraph");
digester.addSetNext("报表信息/查询语句/普通查询", "addNoramlQueryList");
digester.addSetNext("报表信息/查询语句/普通查询/SQL", "setSql");
digester.addCallMethod("报表信息/查询语句/普通查询/SQL", "setValue", 0);
digester.addSetProperties("报表信息/查询条件", "报表源", "reportSource");
digester.addSetProperties("报表信息/查询语句/普通查询/SQL", "T表名", "tName");
要点
1、按照模式定义对象。例如: digester.addObjectCreate("报表信息/查询语句/普通查询", NormalQuery.class);
2、如果下级包含的是单个对象就用 digester.addSetNext("报表信息/查询语句", "setQueryParagraph");
如果下级是多个则定制添加列表方法 digester.addSetNext("报表信息/查询语句/普通查询", "addNoramlQueryList");
3、设置对象的属性使用 digester.addSetProperties("报表信息/查询语句/普通查询/SQL", "T表名", "tName");
如果对象的下级是文本内容则调用 digester.addCallMethod("报表信息/查询语句/普通查询/SQL", "setValue", 0);
多级的xml解析有点复杂,开始的时候怎么写都不对,原来是复制代码的时候模式写错了,快要放弃的时候时候终于发现了问题,
所以很多时候如果遇到不合逻辑的错误的时候,那问题的原因可能是很简单的失误。
好久没有写代码,今天花半天时间和半夜的一点时间解决了问题还是觉得很开心的。
分享到:
相关推荐
我们无须了解SAX和DOM的解析过程,只要给Digester添加一些解析规则,就能对一个xml文件进行解析。Digester使用堆栈来保存xml节点(stack.push()方法),当该xml节点中嵌套的所有子节点解析完毕,该节点将被弹出...
在"jakarta-struts-1.1.zip"这个压缩包中,包含了Jakarta Struts 1.1版本的核心组件和相关资源。 `struts-documentation.war`文件是一个预打包的Web应用,通常用于部署到Servlet容器,如Tomcat或Jetty。这个WAR文件...
apache-jakarta-commons-codec.jar apache-jakarta-commons-collections.jar apache-jakarta-commons-discovery.jar apache-jakarta-commons-email.jar apache-jakarta-commons-fileupload.jar apache-jakarta-...
而`jakarta-oro-2.0.8`目录可能包含了完整的源代码、API文档和其他相关资源,如构建脚本和测试用例,这些都是深入学习和调试的重要资料。 总的来说,Jakarta ORO 2.0.8提供了与Perl 5兼容的正则表达式引擎,对于...
要使用jakarta-taglibs-standard-1.1.2.zip,首先需要将其解压缩,然后将jar文件添加到项目的类路径中。接着,在JSP页面上通过`<%@ taglib %> `指令导入所需的JSTL库。例如,导入Core库的指令为: ```jsp ``` ...
《Jakarta Taglibs Standard 1.1.2:Java Web开发中的标签库解析》 Jakarta Taglibs Standard 1.1.2是Java Web开发中的一款重要组件,它为开发者提供了一套标准的标签库,使得在JSP(JavaServer Pages)页面中编写...
"jakarta-taglibs-standard-1.1.2.rar"是一个包含Jakarta Taglibs标准版1.1.2版本的压缩包文件,这个版本在当时是广泛使用的。下面我们将深入探讨Jakarta Taglibs、标准标签库以及它们与Struts框架的关系。 Jakarta...
jakarta-httpcore-4.0-alpha2.jar用于移动开发的包
压缩包中的"jakarta-oro-2.0.8.jar"是Jakarta ORO库的JAR文件,可以直接引入Java项目中使用。而"commons-net-1.4.1.zip"则是Apache Commons Net库的源代码压缩包,通常用于开发人员查看源代码、调试或自定义库的功能...
`jakarta-oro-2.0.8.jar`则是Jakarta ORO(Oracle Regular Expressions for Java)库,它提供了Perl 5风格的正则表达式支持。虽然在FTP操作中不是必需的,但它在处理字符串时非常有用,比如在解析FTP服务器返回的...
使用commons的net包进行ftp链接,commons-net包封装了一些常见的网络包:ftp,smtp,pop3等 相关包:commons-net-1.4.1.jar ; commons-io-1.4.jar;jakarta-oro-2.0.8.jar
jakarta-commons 相关依赖包,文件列表: commons-attributes-api.jar commons-attributes-compiler.jar commons-beanutils.jar commons-codec.jar commons-collections.jar commons-dbcp.jar commons-digester.jar ...
**ant-jakarta-regexp-1.6.1.jar** 这个JAR文件包含了jakarta-regexp库的所有类和资源,当开发者在Ant构建脚本中使用`<patternset>`或`<filter>`任务时,就需要这个库作为依赖。这个版本的库(1.6.1)修复了一些早期...
"FTP上传下载所需jakarta-oro-2.0.8.jar"这个标题表明,jakarta-oro-2.0.8.jar文件是用于FTP上传或下载过程中的一种依赖。可能的情况是,某个FTP客户端工具或服务器端脚本需要这个库来执行特定的文本处理操作,例如...
jar包,亲测可用
在本文中,我们将深入探讨jakarta-tomcat-connectors-1.2.15-src.tar.gz这个源码包,揭示其中包含的源代码、设计理念以及如何利用这些源码来理解Tomcat的工作原理。 首先,让我们了解一下Jakarta Tomcat Connectors...
jakarta-jmeter-2.3.1.001 jakarta-jmeter-2.3.1.002 jakarta-jmeter-2.3.1.BAT <br>由于文件较大,分割成三个文件,下载后,点击bat文件即可!
在给定的压缩包`jakarta-taglibs-standard-1.1.2`中,我们主要关注的是JSTL 1.1.2版本。 **JSTL的核心组件包括:** 1. **Core标签库(c:tags)**:这是最基础的库,包含一系列用于控制流程(如if、choose、when、...
【标题】"jakarta-tomcat-5.0.30.rar" 提供的是Apache Tomcat 5.0.30版本的服务器软件,这是一个基于Java的开源Web应用服务器,主要用于运行Servlet和JSP(JavaServer Pages)应用程序。Tomcat是Apache软件基金会...