XML建模

本文探讨了XML建模的概念,通过将XML字符串转换为可操作的对象,简化了对XML数据的处理。示例中展示了ConfigModel, ActionModel, ForwardModel等类的设计,以及ConfigModelFactory的使用,以实现对XML配置的便捷访问。案例中,详细说明了ServletClassModel, ServletMappingModel, ServletNameModel, UrlPatternModel和WebAppModel等模型的构建及其在WebAppModelFactory中的应用。" 106573149,7845900,Python使用docxtpl批量插入图片到Word,"['Python', '文档处理', '模板引擎', 'word操作']
摘要由CSDN通过智能技术生成

什么是建模,就是将指定的xml字符串当作对象来操作,如果说当对一个指定的xml格式字符串完成了建模操作,只需要调用指定的方法就可以完成早已经预定的字符串来获取

*XML建模
代码如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE config[
 <!ELEMENT config (action*)>
 <!ELEMENT action (forward*)>
 <!ELEMENT forward EMPTY>
 <!ATTLIST action
   path CDATA #REQUIRED
   type CDATA #REQUIRED
 >
<!ATTLIST forward
   name CDATA #REQUIRED
   path CDATA #REQUIRED
   redirect (true|false) "false"
 >
]>
!-- config标签:可以包含0~N个action标签 -->
<config>
 <!-- action标签:可以饱含0~N个forward标签 path:以/开头的字符串,并且值必须唯一 非空 type:字符串,非空 -->
 <action path="/regAction" type="test.RegAction">
 <!-- forward标签:没有子标签; name:字符串,同一action标签下的forward标签name值不能相同 ; path:以/开头的字符串 
   redirect:只能是false|true,允许空,默认值为false -->
  <forward name="failed" path="/reg.jsp" redirect="false" />
  <forward name="success" path="/login.jsp" redirect="true" />
 </action>
 <action path="/loginAction" type="test.LoginAction">
  <forward name="failed" path="/login.jsp" redirect="false" />
  <forward name="success" path="/main.jsp" redirect="true" />
 </action>
</config>

ConfigModel
代码

package model;
import java.util.HashMap;
import java.util.Map;
public class ConfigModel {
     private Map<String, ActionModel> aMap=new HashMap<>();
     /**
      * 压栈 堆栈
      */ 
      public void push(ActionModel actionModel) {
      aMap.put(actionModel.getPath(),actionModel);
     }
     public ActionModel pop(String path) {
   return aMap.get(path);

  }
  public static void main(String[] args) {
   ConfigModel configModel=new ConfigModel();
 ActionModel actionModel=configModel.pop("/loginAction"); 
		System.out.println(actionModel.getType());

  }
}

1.2 ActionModel
代码如下

package model;
import java.util.HashMap;
import java.util.Map;
public class ActionModel {
// <action path="/loginAction" type="test.LoginAction">
// <forward name="failed" path="/login.jsp" redirect="false" />
// <forward name="success" path="/main.jsp" redirect="true" />
//</action>
private String path;
         private String type;
         private Map<String, ForwardModel> fMap=new HashMap<>();

         public String getPath() {
    return pa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值