生成这类页面的一种方法是,设计一个包含所有静态元素的页面,然后向 HTML 添加脚本:
以下样本代码在布尔元素的值为 true 时显示黄色灯,并在该值为 false 时显示红色灯:
<html><head><title>Page Title</title>
<script src='manage.inc'></script>
<script>
function updateMyLamp(val)
{
if (val == 'On')
{
document.getElementById(‘myImage').src = 'redLamp.gif';
}
else
{
document.getElementById(‘myImage').src = 'yellowLamp.gif';
}
}
</script>
</head>
<body>
<script>
var lamp = new WebObject;
bind(window.lamp,
'ProcessController[0]::OMBoolean_attribute');
lamp.update = updateMyLamp;
</script>
<img id=myImage border=0>
<hr noshade>
<i>Rotate the bool values here<i>
<script>show('ProcessController[0]::rotate');</script>
</body>
</html>
对象声明和绑定在文档头部的第二对 script 标记之间发生。
bind 函数用作模型中的元素值与 Web 界面之间的桥梁。此函数接收两个自变量,JavaScript 对象的变量名(示例中的 lamp)和 Rational Rhapsody 中的模型元素名称(示例中的 ProcessController[0]::rotate)。
在此示例中,下面这一行用于在 Web GUI 中刷新已更新的模型值:
lamp.update = updateMyLamp;
此更新函数接受一个自变量,即元素的新值。
如果页面中的 GUI 控件需要向设备传递信息,请调用相应对象的 set 方法。set 方法接受一个自变量,即新设置的值。