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建模)就介绍到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

目录
相关文章
|
10月前
|
XML 存储 Java
XML建模
XML建模
|
9月前
|
XML 存储 设计模式
xml建模
xml建模
43 0
|
9月前
|
XML 存储 数据库
xml建模----详细完整,易懂结合代码分析
xml建模----详细完整,易懂结合代码分析
|
9月前
|
XML 数据格式
XML-----建模
XML-----建模
29 0
|
9月前
|
XML 存储 设计模式
XML建模
XML建模
41 0
|
10月前
|
XML 存储 Java
XML之建模
XML之建模
53 0
|
10月前
|
XML 设计模式 数据格式
XML建模
XML建模
29 0
|
10月前
|
XML 开发框架 JavaScript
J2EE(XML的解析)
J2EE(XML的解析)
55 0
|
29天前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
|
3月前
|
XML Java 数据格式
java创建xml文件内容
java创建xml文件内容