`
bianrongxin
  • 浏览: 102705 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

TWaver Web 之入门

 
阅读更多

    网上找TWaver Web资料真是少之又少,经过努力终于写出一个hello world。

 

    TWaver是专门做电信业务图形的一个组件,有很多版本,有java的,flex的,web的等等。我这里讲的是如何在web中实现。

 

    TWaver Java要用到twaver.jar,这里有一个很重要的组件那就是TDataBox:TDataBox是用来绑定数据的一个容器,可以将它理解成一个数据集,也可以理解成一个pojo,总之如果TDataBox里边的数据用来被前台解析,就可以实现拓扑图形。

 

基本步骤:1 后台制作几个twaver的组件(节点 node 连接 link)等,放入TDataBox里边。

                2 SVGContext,它是一个twaver的上下文,用它加载TDataBox对象,转换成SVG格式(可以支持twaver的解析),用流的形式发送数据到前台。

                3 前台解析展示拓扑图形(或者其他)。

    准备工作:twaver.jar(java用到的), twaver.rar(js用到的)。

 

按照上述步骤,我们来逐一实现:

 

 

1 建立一个servlet HelloNetwork.java

 

public class HelloNetwork extends HttpServlet {

 

private TDataBox box;

private TSVGNetwork network;//拓扑图组件

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

doPost(request, response);

}

 

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

 

box = new TDataBox();

//创建拓扑图组件,用于生成SVG拓扑图形

network = new TSVGNetwork(box);

//下面添加两个节点一条连线到dataBox

// 添加节点1

Node server1 = new Node();

server1.setName("Server 1");

server1.setLocation(100, 100);

box.addElement(server1);//这一步很重要,所有待展示图形必须放到TDatabox对象里边

// 添加节点2

Node server2 = new Node();

server2.setName("Server 2");

server2.setLocation(200, 200);

box.addElement(server2);

// 添加连线

Link link = new Link(server1, server2);

link.setName("Hello TWaver");

box.addElement(link);

                //第二步实现

}

 

2 在改java类中添加如下代码:

SVGContext svgContext = new SVGContext();

svgContext.setSizeByImageBackgroundSize(true);

svgContext.setSvgHeader(false);

StringBuffer result = new StringBuffer();

result.append("<?xml version='1.0' encoding='utf-8'?>\n");

result.append("<twaver>\n");

result.append("<twaver.network>\n");

result.append(network.toSVG(svgContext) + "\n");

result.append("</twaver.network>\n");

result.append("</twaver>\n");

response.addHeader("Content-Type", "text/xml; charset=utf-8");

response.addHeader("Cache-Control", "no-cache, no-store");

response.getWriter().write(result.toString());


这里拼接的字符串不用我多说大家可以看出是一个xml,对,它是一种标准,可以被解析成各种形式的,如果是twaver.network则是拓扑图形,还可以是树形菜单等等。

 

 

 

3 解压twavber.rar文件 将twaver文件放在工程根路径下,建立一个jsp页面。index.jsp

 

 

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

 

    <title>My JSP 'index.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">

<meta http-equiv="cache-control" content="no-cache">

<meta http-equiv="expires" content="0">    

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

<meta http-equiv="description" content="This is my page">

<link rel="stylesheet" type="text/css" href="twaver/resource/twaver.css"/>

    <script type="text/javascript" src="twaver/twaver-all-min.js"></script>

    <script type="text/javascript">

    function fn_init() {

    var url = 'http://localhost:8080/hello_network/helloNetwork';//这里根据实际情况传入你要请求的url。

    var databox = new TWaver.DataBox(url);//通过这个url在天台建立一个databox,前台的用法不是java范畴的,而是TWaver Web的东西,所以要用到解压文件中的TWaver-min-all.js。它可以和后台的东西交互。组件完全是一样的,只不过一个是java的,一个是javascript的。

    var network = new TWaver.SVGNetwork(databox, document.getElementById('network'));//告诉浏览器这是一个拓扑对象,要用到databox里的数据,显示在div network中。

   

    network.canvas.style.overflow = 'auto';

    databox.update();//发送请求,加载组件到页面中。

    }

    </script>

  </head>

 

  <body onload="fn_init();">

    <div>This is my JSP page. </div>

 

    <div id='network'></div>

  </body>

</html>

分享到:
评论
14 楼 lliu_dt18 2015-11-20  
     
13 楼 lliu_dt18 2015-11-19  
    
12 楼 f123132 2015-03-11  
index.jsp中报错TWaver未定义,无法解析,该如何解决?能否把这个工程文件发我邮箱,谢谢!970833801@qq.com
11 楼 f123132 2015-03-11  
index.jsp中报错TWaver未定义,无法解析,该如何解决?
10 楼 lzycxy 2015-01-16  
可以跑起来,很好,很感谢!
9 楼 Rfiy 2013-08-16  
目前正在研究twaver的用法,非常有用,感激不尽!
8 楼 xiaonihaoa 2013-07-17  
很好 很强大
7 楼 habwn 2013-05-21  
不错,运行出来了,就是不太美观
6 楼 ~音乐盒~ 2012-12-03  
您好,twaver-all-min.js 这个引用路径没有问题的,但脚本报“拒绝访问”的错误,不知道你的例子那里运行可以吗。可以吧你的例子发我分吗273683437@qq.com  
5 楼 ~音乐盒~ 2012-12-03  
您好,我在jsp中twaver-all-min.js引用这个了,但运行时还是报脚本错误,说TWaver未定义,为什么呢。
4 楼 PLA 2012-11-21  
谢谢 分享
3 楼 shit_wp 2012-11-06  
太感谢了,正在找这样的资料
2 楼 duxitao 2012-08-30  
官方网站资料不少啊,不知博主的jar包是哪里下载的是哪个版本的呢
1 楼 weihao11123 2012-08-24  
正是我需要的,非常感谢

相关推荐

    Twaver Web SVG 开发说明文档

    ### Twaver Web SVG 开发说明文档 #### 一、前言 Twaver Web SVG 开发说明文档是一份针对电信网管 WEB 模式开发的重要参考资料。该文档详细介绍了 Twaver Web SVG 的架构、开发流程以及常见问题解决方案等内容,...

    twaver web实例源码

    【标题】"Twaver Web实例源码"是一个关于使用Twaver与ExtJS结合的Web应用程序开发的学习资源。Twaver是一款强大的图形化建模和可视化工具,常用于数据可视化、网络拓扑图、流程图等场景。ExtJS则是一个流行的...

    TWaver_Web_4.0中文开发手册

    ### TWaver Web 4.0 开发手册知识点详解 #### 一、入门 - **概述**:TWaver Web 是一种用于浏览器中展示图形化界面的组件,特别适用于展示电信网络管理中的拓扑图和设备面板图。TWaver Web 的广义概念涵盖了多个...

    twaver.js使用示例

    ”这说明提供的示例不仅包含核心的twaver.js库,还有与之配合的HTML文件“alarm.html”。Jetty是一个轻量级的Java Web服务器和Servlet容器,能够方便地运行Web应用程序。这意味着用户可以直接在Jetty环境下运行这个...

    Flex Twaver 入门指南中文版

    ### Flex Twaver 入门指南知识点详解 #### 一、简介与概述 **Flex Twaver** 是一套专门针对电信网管系统开发的组件包,它基于 Java Swing 扩展而成,旨在提供一种轻量级且功能强大的解决方案。该组件包采用 MVC...

    flex Twaver组件使用

    TWaver组件家族包括TWaver Java、TWaver Web、TWaver Flex、TWaver .NET、TWaver HTML5和TWaver GIS,覆盖了多种开发环境。本文主要讨论的是在Flex环境下的TWaver组件——TWaver Flex。 在配置TWaver Flex的开发...

    TWaver的3d图形组件库,小demo

    通过这个"TWaver的3d图形组件库,小demo",开发者不仅可以学习到如何使用TWaver库创建3D图形,还能了解到现代Web开发中的3D数据可视化技术和最佳实践。通过研究提供的源代码,开发者可以提升自己在WebGL和JavaScript...

    Twaver学习资料

    很好的Twaver WEB学习资料,里面有相关的例子

    twaver-html5-5.9.0-api_html5_-5.9.0-api_twaver_

    这意味着它可能包含开发者需要的所有信息,以便在Web应用程序中有效地利用Twaver的功能。 标签"html5 -5.9.0-api twaver"进一步确认了这是关于HTML5的Twaver API,特别强调了版本5.9.0。 压缩包内的文件列表揭示了...

    基于TWaver实现的3D机房Demo

    【基于TWaver实现的3D机房Demo】 在IT行业中,3D可视化技术正在逐步渗透到各个领域,尤其是在数据中心管理方面。TWaver是一款强大的WebGL3D框架,它为开发者提供了一个高效、灵活的工具,用于创建交互式的3D应用...

    twaver-java-4.1

    4. `README.txt`:此文件通常包含了关于如何安装、配置和运行开发包的简要说明,是初学者入门的重要参考资料。 5. `javadoc`:这个目录下是TWaver库的Java文档,详细解释了每个类、接口和方法的功能和用法,对...

    TWaver HTML5 开发指南代码

    TWaver是一个强大的可视化框架,其核心特性是支持复杂的图形和网络图表的绘制,尤其适合在Web上创建交互式的机房、网络设备、服务器架构等展示。 一、TWaver概述 TWaver是一个高效且灵活的JavaScript库,专门用于...

    TWaver-java-4.1最新 官网试用版jar包及Demo

    【标题】"TWaver-java-4.1最新 官网试用版jar包及Demo" 涉及的核心知识点是TWaver,一个基于Java的图形可视化库,主要用于数据的图表展示和交互。这个版本是4.1,是官方提供的试用版,包含jar包和演示示例。 【描述...

    TWaver文档

    - **界面交互**也是TWaver的重要组成部分之一,它提供了丰富的API来处理用户的输入事件,并且可以根据用户的操作实时更新视图。 ### 产品家族与技术栈 - TWaver支持多种技术和平台,包括**Java**、**Flex**、**...

    Twaver-html5.zip

    Twaver学习案例的例子

    TWaver图形界面之道

    ### TWaver图形界面之道——关键知识点解析 #### 一、TWaver概述 TWaver是一款专为图形用户界面(GUI)开发而设计的组件产品。它不仅适用于电信行业的网络管理系统(NMS),同样适用于非电信领域的各类图形化界面...

    twaver for flex 开发手册

    ### TWaver for Flex 开发手册知识点总结 #### 一、TWaver for Flex 概述 TWaver for Flex 是一款由 Serva Software 开发的高级图形组件库,它为 Flex 应用程序提供了一系列丰富的图形控件和服务。这些控件允许...

Global site tag (gtag.js) - Google Analytics