J2EE(xml建模)

简介: J2EE(xml建模)

一.xml建模

1.1什么是建模

以面向对象的思想 ,XML配置文件中的元素、属性、文本信息转换成对象的过程其实就是建模。

1.2建模

  • ForwardModel类:xml文件中的Forward节点模型
  • ActionModel类:xml文件中的Action节点模型
  • ConfigModel类:xml文件中的Config节点模型

建模思路:


1.将config.xml进行解析

 2.对应标签的内容将其封装赋值给相应的对象

       forward标签值 赋值给forwardmodel对象

       action标签值 赋值给actionmodel对象

      config标签值 赋值给configmodel对象

ForwardModel类:

public class ForwardModel {
  private String name;
  private String path;
  private boolean redirect;
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public String getPath() {
    return path;
  }
  public void setPath(String path) {
    this.path = path;
  }
  public boolean isRedirect() {
    return redirect;
  }
  public void setRedirect(boolean redirect) {
    this.redirect = redirect;
  }
}

ActionModel类:

public class ActionModel {
  private String path;
  private String type;
  private Map<String,ForwardModel> fmap=new HashMap<String,ForwardModel>();
public String getPath() {
    return path;
  }
  public void setPath(String path) {
    this.path = path;
  }
  public String getType() {
    return type;
  }
  public void setType(String type) {
    this.type = type;
  }
  //  将forward往action中放压栈
  public void push(ForwardModel forwardModel) {
    fmap.put(forwardModel.getName(),forwardModel);
   }
//  从action中通过name值取出foward
    public ForwardModel pop(String name) {
      return fmap.get(name); 
    }
}

ConfigModel类:

public class ConfigModel {
  private Map<String,ActionModel> amap=new HashMap<String, ActionModel>();
  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) throws Exception {
      ConfigModel configModel = ConfigModelFactory.build();
      ActionModel actionModel = configModel.pop("/loginAction");
      ForwardModel forwardModel = actionModel.pop("success");
      System.out.println(forwardModel.getPath());
    }
}

二.工厂模式

ConfigModelFactory类:

23种设计模式--工厂模式--创建型模式

ConfigModelFactory就是用来生产configmodel内容的

public class ConfigModelFactory {
    public static ConfigModel build() throws Exception {
      ConfigModel configModel=new ConfigModel();
      InputStream is = ConfigModelFactory.class.getResourceAsStream("/mvc.xml");
      SAXReader sa=new SAXReader();
      Document doc = sa.read(is);
//      System.out.println(doc.asXML());
      List<Element> actionEls = doc.selectNodes("/config/action");
      for (Element actionEl  : actionEls) {
//        System.out.println(actionEl.asXML()); 
      ActionModel actionModel=new ActionModel();
      actionModel.setPath(actionEl.attributeValue("path"));
      actionModel.setType(actionEl.attributeValue("type"));
      List<Element> forwardEls = doc.selectNodes("/config/action/forward");
      for (Element forwardEl  : forwardEls) {
        System.out.println(forwardEl.asXML()); 
        ForwardModel forwardModel=new ForwardModel();
        forwardModel.setName(forwardEl.attributeValue("name"));
        forwardModel.setPath(forwardEl.attributeValue("path"));
//        只有填false才能转发,其它都是重定向
        forwardModel.setRedirect(!"false".equals(forwardEl.attributeValue("redirect")));
        actionModel.push(forwardModel);
      }
      configModel.push(actionModel);      
      }
      return configModel;
    }
    public static void main(String[] args) throws Exception {
      ConfigModelFactory.build();
    }
}

最后J2EE(XML建模)就介绍到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

目录
相关文章
|
XML 存储 Java
XML建模
XML建模
102 1
|
XML 存储 设计模式
xml建模
xml建模
90 0
|
XML 存储 数据库
xml建模----详细完整,易懂结合代码分析
xml建模----详细完整,易懂结合代码分析
123 0
|
XML 数据格式
XML-----建模
XML-----建模
62 0
|
XML 存储 设计模式
XML建模
XML建模
78 0
|
XML 存储 Java
XML之建模
XML之建模
155 0
|
XML 设计模式 数据格式
XML建模
XML建模
67 0
|
XML 开发框架 JavaScript
J2EE(XML的解析)
J2EE(XML的解析)
100 0
|
5月前
|
Android开发 开发者
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
本文详细介绍了如何通过自定义 `attrs.xml` 文件实现 Android 自定义 View 的属性配置。以一个包含 TextView 和 ImageView 的 DemoView 为例,讲解了如何使用自定义属性动态改变文字内容和控制图片显示隐藏。同时,通过设置布尔值和点击事件,实现了图片状态的切换功能。代码中展示了如何在构造函数中解析自定义属性,并通过方法 `setSetting0n` 和 `setbackeguang` 实现功能逻辑的优化与封装。此示例帮助开发者更好地理解自定义 View 的开发流程与 attrs.xml 的实际应用。
Android自定义View之不得不知道的文件attrs.xml(自定义属性)
|
12月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
229 1