需求:采用mxgraph实现可 拖动 拓扑图,并将移动后的拓扑图数据保存入数据库,供下次显示时读取
前台提交数据
//获取mxgraph拓扑图数据
var enc1 = new mxCodec(mxUtils.createXmlDocument());
var node1 = enc1.encode(graph.getModel());
var xml1 = mxUtils.getXml(node1);
//采用dwr的ajax方式向后台提交数据
TopoService.saveTopoData(xml1,function(result){ //保存结果
});
后台解析数据
主要采用dom4j进行xml解析,分两套方案
/**
* 保存拓扑节点坐标信息
* @param userInfo
* @return
*/
public int saveTopoData(String xmldata) {
int updateResult = 1;
Map<String, String> paraMap = new HashMap<String, String>();
InputSource in = new InputSource(new StringReader(xmldata));
//in.setEncoding("UTF-8");
in.setEncoding("GBK");
SAXReader reader = new SAXReader();
Document document;
try {
document = reader.read(in);

本文介绍如何使用mxgraph实现可拖动的拓扑图,并将移动数据保存到数据库。在前台,数据被提交;在后台,利用dom4j解析XML,通过两种方案进行处理。方案一因性能较好而首选,但遇到Windows到Linux环境迁移时的问题,需解决缺失jaxen.jar的问题。方案二遍历所有XML节点,性能较逊。作者希望通过博客记录成长,与读者共勉。
最低0.47元/天 解锁文章
535

被折叠的 条评论
为什么被折叠?



