2016-01-20 198 views
2

我在spring(后端)的一个项目,angularjs(前端)整合camunda DMN建模在春季角JS前端MVC应用程序

我想用dmn modeler在我的项目创建decision table和创建决策表(是一个xml文件)我想保存在服务器上。

我已使用bower下载了dmn-js文件。

我不知道nodeJS。 我无法得到它是否需要nodeJs那我该如何在我的spring项目中使用它。

我想从我的angularJS controller调用函数。

  1. openTable它接受xmlinput

  2. 函数,它给我xml(在string)为output

并且如果误差在modelerJS抓然后显示在我的HTML 。

任何理论上的解释/有用的链接将是伟大的!

+1

对我来说,春天是一年中的一个时间(我知道,java是一个岛屿),所以我不能帮助后端的一部分,但我可以告诉你,你不需要nodejs来包含dmn-js你的项目。只有当你想自己构建建模器时才需要Nodejs。 – zeropaper

+0

如果我包含dmn-modeler。js在index.html中通过bower下载,并尝试使用'new Modeler(options)'在角度控制器中创建dmn表,然后它表示Modeler未定义:( –

回答

3

从我试过到目前为止,

的第一件事是,我同意#zeropaper写什么意见,有没有需要的NodeJS

如果你看给出的例子Here

您需要包括modelerJs代替viewerJs创建表(中 - 当然,其他的依赖就像dmn-js CSS)

angularJScontroller你可以写类似

 var viewer, DmnModeler, initialTemplate; 
     DmnModeler = window.DmnJS; 

     initialTemplate = ;//xml input (.dmn file) 

     viewer = new DmnModeler({ container: '#canvas' }); 

     viewer.importXML(initialTemplate, function(err) { 

      if (!err) { 
      console.log('success!'); 
      } else { 
      console.log('something went wrong:', err); 
      } 
     }); 

对于firstTime你可以用 viewer.createTemplate(callbackfunction)

下一次调用它与现有的dmn你可以使用importXML如上图所示加载它。

下一点来获得XML,你可以做以下的dmn表,

viewer.saveXML({ format: true }, function(err, xml) { 
    console.log(xml); //here is xml 
}); 

你需要一个HTML元素说,<div id='canvas' />渲染视图。

如果我错了,请做评论/正确。

+0

感谢您的回答! –