Niagara AX之axvelocity的使用
axvelocity是一个Web模板引擎模块,来源于Apache Velocity。由于我的Niagara AX的许可没有axvelocity,因此,在palette中没有找到axvelocity。
但可以在平台的My Modules下找到它。

将axvelocity模块的module.palette下的VelocityServlet拖动到Station的Services下即可开始使用。

双击Services下的VelocityServlet,出现它的Velocity Document Manager视图。

在这个视图中可以点击下方的New按钮添加Velocity文档。

其中最重要的是选择Template File,这个文件可以是任意格式,如文本文件、HTML等,或者以vm结尾,都行,示例如下(velocity1.txt)。

模板文件选择好了,就可以通过浏览器访问它了,如下。

问题来了:
模板引擎的作用是在模板文件中显示不同Java对象的信息,这些Java对象从哪里来呢?
比如,上面展示的模板文件$user.name、$point.out.value中的user、point来自哪儿?
见下图:

velocity document的文档需要配置user、point等java对象,其属性视图如下:

从上图可以看出,需要在Velocity Document的Velocity Context属性下添加Velocity Context Ord Element。
使用结果:
可以通过axvelocity模块展示Niagara系统的信息到HTML界面上,但通过axvelocity来控制Niagara系统里面的点却有些问题,还没搞明白。
axvelocity的语法可以参考apache velocity官网的资料。
最后,Servlet Name的设置,设置完后,访问velocity document的url会有改变,如之前访问是使用:
http://localhost:82/velocity/velocity
更改servlet name后变为:
http://localhost:82/velocityz/velocity

至于在HTML页面中嵌入PX图,使用frameset+frame或者iframe都可以,关键是要设置正确的src,示例如下:
<frameset cols="300,*">
<frame src="/ord?file:^html/menu.html" />
<frame src="/ord?station:|slot:/Services" name="content" />
</frameset>
或
<body>
<iframe src="/ord?file:^html/menu.html" style="width:19%;height:100%;"></iframe>
<iframe src="/ord?station:|slot:/Services" name="content" style="width:80%;height:100%;"></iframe>
</body>
注意下面的url:
<body>
<a href="/ord?station:|slot:/Services/UserService" target="content">用户管理</a>
<br/>
<a href="/ord?history:/Ben0721/AuditHistory" target="content">历史记录</a>
<br/>
<a href="/velocity/velocity" target="content">velocity</a>
<br/>
<a href="/velocity/velocity2" target="content">velocity 2</a>
</body>
velocity的访问连接是不同的,没有/ord?开头。
ORD可以在Workplace里通过Ctrl + L获得,去掉ORD前面的local:|fox:1912|即可。
Niagara AX之axvelocity的使用的更多相关文章
- Niagara AX连接MySQL数据库
步骤如下 1.安装Niagara AX (3.8.38): 2.安装MySQL(5.6.25):将MySQL\Connector.J 5.1\mysql-connector-java-5.1.35-b ...
- Niagara AX之在Station下显示Home节点
默认的Station下是没有Home节点的,那么,这个Home节点是怎么添加上去的呢? 注意Home后面的描述(Description):“Navigation tree defined by nav ...
- Niagara AX之BajaScript资料哪里找
四个步骤:(开篇:多谢陈工!) 1.Services下添加box->boxService: 2.在Apps下添加BajaScriptTutorialsApp: 3.登录用户的Web Profil ...
- [oBIX包使用教程] 使用 Python 通过 oBIX 协议访问 Niagara 数据
oBIX 全称是 Open Building Information Exchange,它是基于 RESTful Web Service 的接口的标准,用于构建控制系统.oBIX是在专为楼宇自动化设计 ...
- Session for SSRS Report of Microsoft Dynamics AX
Session for SSRS Report of Microsoft Dynamics AX 版权声明:本文为博主原创文章,未经博主允许不得转载. Contract •A data contrac ...
- Report processing of Microsoft Dynamic AX
Report processing of Microsoft Dynamic AX 版权声明:本文为博主原创文章,未经博主允许不得转载. The implementation of a general ...
- Microsoft Dynamics AX 7 新特性探索 - Demo 部署(Part 1)
Dynamics AX 7已经发布了一段时间了,我们知道这次微软为我们带来了许多令人激动的新特性.在这个系列里,Reinhard将揭开New Dynamics AX的神秘面纱,和大家一起探索这些新的特 ...
- Inventory Costing in AX 2009
I wanted to explore some scenarios that illustrate a few important concepts related to inventory cos ...
- 理解AX InventTrans的几种状态
接触AX一段时间后,发现InventTrans表非常重要.它可以说是物流模块的核心,开发BI报表的话必须依赖此报表. 先来看官方释义: InventTrans表包含了库存交易的信息.当销售/采购订 ...
随机推荐
- 一句SQL实现MYSQL的递归查询
众所周知,目前的mysql版本中并不支持直接的递归查询,但是通过递归到迭代转化的思路,还是可以在一句SQL内实现树的递归查询的.这个得益于Mysql允许在SQL语句内使用@变量.以下是示例代码. 创建 ...
- 转载: js jquery 获取当前页面的url,获取frameset中指定的页面的url(有修改)
转载网址:http://blog.csdn.net/bestlxm/article/details/6800077 js jquery 怎么获取当前页面的url,获取frameset中指定的页面的ur ...
- 用Python制作markdown编辑器
还记得在上篇提到的rest-framework,文档中提到了markdown也是可选应用. 那么这篇我们就来尝试使用markdown来制作一个在线的可以预览的editor. 安装 Python Mar ...
- mysql设置连接等待时间(wait_timeout)
Linux下mysql修改连接超时 1,首先进入mysql,查看 wait_timeout.interactive_timeout这个值是否为默认的8小时(即 28800) [root@serv ...
- 《Programming WPF》翻译 第5章 1.不使用样式
原文:<Programming WPF>翻译 第5章 1.不使用样式 作为一个样式如何使其在WPF使用的例子,,让我们看一下TTT简单的实现,如示例5-1. 示例5-1 <!-- W ...
- bitmap 内存溢出OOM的解决办法分享
昨天遇到这个问题就是从一个输入流里调用BitmapFactory.decodeStream(this.getContentResolver().openInputStream(uri))得到一个bit ...
- PHPDocumentor安装与使用
phpDocuemtor官网:http://www.phpdoc.org/ 通过pear安装,进入dos的php目录,输入pear install -a PhpDocumentor.如果想使用web接 ...
- 车的UML图
车的UML图,涉及到集合与泛化的东东. UML统一建模语言,通过图能够很好的分析问题.
- c# 编程添加控件
Button b = new Button();//创建一个新的按钮 b.Text = "test"; //添加到panel1中 panel1.Controls.Add(b);
- Mysql update 错误
今天在工作的时候发现自己update 一个表的某个字段超时,想了好久,首先想到的办法是,延长操作时间: mysql> set innodb_lock_wait_timeout=100 mysql ...