将MS Office通信器状态指示符添加到JSP中

时间:2010-11-09 05:57:46

标签: java user-presence office-communicator

我想将MS Office通信器状态指示符添加到我的Java应用程序(jsp)中。

1 个答案:

答案 0 :(得分:7)

如果您的目标是Windows平台,最简单的方法是在客户端执行所有操作。 只要客户端运行IE,Office 2003或更高版本以及Communicator 2007或更高版本,就可以使用随Office一起分发的NameCtrl ActiveX对象。

以下代码可以帮助您入门:

<script>

var sipUri = "your.contact@your.domain.com";

var nameCtrl = new ActiveXObject('Name.NameCtrl.1');
if (nameCtrl.PresenceEnabled)
{
  nameCtrl.OnStatusChange = onStatusChange;
  nameCtrl.GetStatus(sipUri, "1");
}


function onStatusChange(name, status, id)
{
  // This function is fired when the contacts presence status changes.
  // In a real world solution, you would want to update an image to reflect the users presence
  alert(name + ", " + status + ", " + id);
}

function ShowOOUI()
{
  nameCtrl.ShowOOUI(sipUri, 0, 15, 15);
}

function HideOOUI()
{
  nameCtrl.HideOOUI();
}

</script>

<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span>

对于真实世界的解决方案,您只需要根据返回的状态(即每个用户名旁边显示的状态气泡)实现更改的图像,以及对图像进行啜饮的集合,确保您可以将传入的状态更改映射到相关图像。