当前位置: 首页 > news >正文

淘宝客网站搜索怎么做昆明做企业网站哪家好

淘宝客网站搜索怎么做,昆明做企业网站哪家好,重庆建设局网站,网站开发需有没有著作权digester解决问题–硬编码#xff0c;需要为您的应用程序创建自定义配置#xff0c;例如struts配置文件#xff0c;仅通过更改文件即可改变应用程序的行为。 Apache Digester可以轻松为您完成此任务。 使用Apache Digester相当容易将XML文档转换为相应的Java bean对象层次结… digester 解决问题–硬编码需要为您的应用程序创建自定义配置例如struts配置文件仅通过更改文件即可改变应用程序的行为。 Apache Digester可以轻松为您完成此任务。 使用Apache Digester相当容易将XML文档转换为相应的Java bean对象层次结构。 请参阅下面的“摘要”。 Digester引入了三个重要概念 元素匹配模式 处理规则 对象堆栈。 元素匹配模式将 XML元素与处理规则相关联。 范例 你有什么 Java类 包含数据的XML文件 您有Java类和相应的xml文件。 您希望从xml数据创建Java类实例。 您需要编写哪些额外的代码。 分步任务 在类路径中添加Apache Digester 3 jar文件Commons日志jarBeanutils jarcglib jar 如果没有Java类则为相应的xml文件创建Java类。或者如果没有xml文件则根据java类创建。注-属性名称xml和java类中的层次结构应匹配否则需要在此处未提及的摘要XML规则中提供映射。 如以下示例中所述创建摘要规则XML文件 使用几行来从xml加载Java对象 现在在行动– 这是我的Eclipse项目结构 任务2 –如下创建数据xml文件您要从中加载数据 例如– chain-config.xml ?xml version1.0 encodingUTF-8?catalogs!-- Default Catalog: Path Info example --catalog!-- Command that maps Path Info patterns to Commands --chain nameCOMMAND_MAPPERcommand classNameorg.apache.commons.chain.web.servlet.PathInfoMapper/command forward/pathinfo.jsp classNameorg.apache.commons.chain.apps.example.ForwardCommand//chain!-- Foo Command --chain name/foocommand attributepathinfoFooCount classNameorg.apache.commons.chain.apps.example.CountCommand//chain!-- Bar Command --chain name/barcommand attributepathinfoBarCount classNameorg.apache.commons.chain.apps.example.CountCommand//chain/catalog!-- Catalog for Request Parameter example --catalog namereqparam!-- Command that maps a Request Parameter to Commands --chain nameCOMMAND_MAPPERcommand catalogNamereqparam classNameorg.apache.commons.chain.web.servlet.RequestParameterMapper/command forward/reqparam.jsp classNameorg.apache.commons.chain.apps.example.ForwardCommand//chain!-- Foo Command --chain namefoocommand attributereqparamFooCount classNameorg.apache.commons.chain.apps.example.CountCommand//chain!-- Bar Command --chain namebarcommand attributereqparamBarCount classNameorg.apache.commons.chain.apps.example.CountCommand//chain/catalog/catalogs 创建相应的Java类 Catalog.java import java.util.ArrayList; import java.util.List;public class Catalog {/*** uml.property namename*/private String name;/*** Getter of the property ttname/tt* return Returns the name.* uml.property namename*/public String getName() {return name;}/*** Setter of the property ttname/tt* param name The name to set.* uml.property namename*/public void setName(String name) {this.name name;}/*** uml.property namechains*/private ListChain chainsnew ArrayListChain();public void addChains(Chain chain){this.chains.add(chain);}} Chain.java import java.util.ArrayList; import java.util.List;public class Chain {/*** uml.property namename*/private String name;/*** Getter of the property ttname/tt* return Returns the name.* uml.property namename*/public String getName() {return name;}/*** Setter of the property ttname/tt* param name The name to set.* uml.property namename*/public void setName(String name) {this.name name;}/*** uml.property namecommands*/private ListCommand commandsnew ArrayListCommand();/*** Setter of the property ttcommands/tt* param commands The commands to set.* uml.property namecommands*/public void addCommands(Command command) {this.commands.add(command);}} Command.java import java.util.ArrayList; import java.util.List;public class Chain {/*** uml.property namename*/private String name;/*** Getter of the property ttname/tt* return Returns the name.* uml.property namename*/public String getName() {return name;}/*** Setter of the property ttname/tt* param name The name to set.* uml.property namename*/public void setName(String name) {this.name name;}/*** uml.property namecommands*/private ListCommand commandsnew ArrayListCommand();/*** Getter of the property ttcommands/tt* return Returns the commands.* uml.property namecommands*/public List getCommands() {return commands;}/*** Setter of the property ttcommands/tt* param commands The commands to set.* uml.property namecommands*/public void addCommands(Command command) {this.commands.add(command);}} 任务3 –创建 摘要程序 规则 digester-catalog-rules.xml ?xml version1.0? !DOCTYPE digester-rules PUBLIC-//Apache Commons //DTD digester-rules XML V1.0//ENhttp://commons.apache.org/digester/dtds/digester-rules-3.0.dtd digester-rulespattern valuecatalogs/catalogobject-create-rule classnameCatalog/set-properties-rule/!-- comment :bean-property-setter-rule patternname/ use as shown above if say catalognamereparam/name /catalog instead of catalog namereparam /catalog--!-- Nested Pattern for Characters --pattern valuechainobject-create-rule classnameChain/set-properties-rule/ !-- Nested Pattern for Characters --pattern valuecommandobject-create-rule classnameCommand/set-properties-rule/set-next-rule methodnameaddCommands paramtypeCommand/ /patternset-next-rule methodnameaddChains paramtypeChain/ /patternset-next-rule methodnameadd paramtypeCatalog/ /pattern /digester-rules 任务4 –加载xml数据的客户端程序 import java.io.IOException; import java.io.InputStream; import java.net.URL;import org.apache.commons.digester3.Digester; import org.apache.commons.digester3.binder.DigesterLoader; import org.apache.commons.digester3.xmlrules.FromXmlRulesModule; import org.xml.sax.SAXException;import java.util.ArrayList; import java.util.List;public class runProgram {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stub// Create an instance of the Digester from the XML rule setDigesterLoader digesterLoader DigesterLoader.newLoader(new FromXmlRulesModule() {Overrideprotected void loadRules() {// TODO Auto-generated method stubloadXMLRules( getClass( ).getResource(/com/tatu/resources/digester-catalog-rules.xml));}}); Digester digester digesterLoader.newDigester();ListCatalog catalogs new ArrayListCatalog();// Push a reference to the plays List on to the Stackdigester.push(catalogs);// Parse the XML documentInputStream input Digester.class.getClass().getResourceAsStream(/com/tatu/resources/chain-config.xml);try {Object root digester.parse(input);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SAXException e) {// TODO Auto-generated catch blocke.printStackTrace();}}} 做完了 因此已经用xml数据加载了catalogs对象。 上述解决方案要注意的几点 object-create-rule创建一个对象 其余规则如其名称所暗示的那样简单明了object-create-rule创建一个新实例set-properties-rule从xml属性如目录元素的name属性设置对象的属性而bean-property-setter-rule设置嵌套xml元素的对象的属性例如catalog name reparam / name / catalog而不是catalog name reparam / catalog – set-next-rule 用于递归set-next-rulerule移至下一个目录链和命令标签。 您还指定了每种情况下要调用的方法该方法会将对象添加到父类中定义的集合中例如set-next-rule methodname addCommandsparamtype Command/此处为addCommands方法将命令对象添加到父链类中定义的命令集合对象。 您需要新的自定义规则请创建自摘要器Rule类派生的自己的Rule类。 有任何问题请发表您的评论。 再想一想您不希望在xml文件和java类之间出现所有这些麻烦。 猜猜怎么着有个避免的办法。 但是我不喜欢这个把戏除非你很着急。 但是每次使用快捷方式时都必须失去灵活性。 技巧是使用Apache Betwixt。 记住要使用Betwixt您需要使用Apache Digester 2.1。 有关更多信息请访问apache Betwixt网站。 使用Betwixt BeanWriter将Java bean写入文件然后使用BeanReader从该文件读取。 从BeanWriter生成文件后就可以更改值并在BeanReader中加载该文件。 这里需要省略配置之间的映射 祝您编程愉快别忘了分享 参考 “ 我的软件开发博客”博客中的JCG合作伙伴 Bijay Deo的示例-使用Apache Digester进行示例配置-轻松配置 。 翻译自: https://www.javacodegeeks.com/2012/09/apache-digester-example-make-easy.htmldigester
http://www.yutouwan.com/news/424032/

相关文章:

  • 客户端建站优化型网站建设的基本要求
  • dz仿网站头部当前主流网站开发技术
  • 做乡镇网站博州住房和城乡建设局网站
  • 招聘网站建设人员条件做网站网络合同
  • 软件资源网站计算机网页制作素材
  • 网站开发技术孵化企业网站开发实训报告
  • 做婚姻网站赚钱元隆盛建设集团有限公司网站
  • 青岛网站关键词wordpress 多条件过滤
  • 上海网站建设优化公司企业网站群建设规范
  • 网站备案logo互联网企业投诉服务平台
  • wordpress 路由规则搜索引擎优化的名词解释
  • 什么是网站架构投资公司取名字大全
  • 网站建设高效解决之道免费建站免费推广的网站
  • 网站平台规划类似建站之星网站
  • 网站建设的整个流程图盐城做企业网站哪家好
  • 效果图在线制作北京百度推广seo
  • 怎样登入网站后台设计师兼职接单
  • seo针对网站做策划免费推广的网站
  • 遨游建站内黄县住房和城乡建设局网站
  • 手机网站的模板下载软件wordpress中文购物主题
  • 扁平网站 文案济南手机建站模板
  • 深圳品牌网站推广广州住建官方网站
  • 有什么可以做翻译的网站吗域名对网站有什么影响吗
  • 新兴建设网站深圳企业营销型网站建设
  • 网站怎么做熊掌号网站建设哪家
  • 东莞网站建设黄页免费软件扫二维码直接进网站怎么做
  • 龙岗建设企业网站郑州经济技术开发区教师招聘公告
  • 阿里云加WordPress建站旅游网站国际业务怎样做
  • 长春网站推广公司手机端网站html好看的模板
  • 做网站小图片分类有免费建站的网站吗