SSJS图书馆的警报

时间:2016-04-14 06:41:40

标签: xpages ssjs

我在SSJS库中有一个功能。我想在Library中获取Client Side警报。我尝试的是没有用的。我想我错过了什么。 :(

function docAlive()
{
    try 
    {
        var otherDoc:NotesDocument= null;
        if (funcDoc.getItemValueString("DocUNID")!="")
        {
            var otherDoc:NotesDocument = dbKontak.getDocumentByUNID(funcDoc.getItemValueString("DocUNID"))
            if (otherDoc==null)
            {
              hataKod = "10001";
              hataMsg = "There is no document :( Created One";
              print (hataKod +": "+hataMsg);
              view.postScript("alert('"+hataKod + " - " +hataMsg+"');");
            }
        }
        return otherDoc;
    }
    catch (e) 
    {
        e.toString();
    }    
}

1 个答案:

答案 0 :(得分:1)

view.postScript()将触发客户端警报,但正如Tim Tripcony所提到的那样,而不是所有事件。并且仅在函数之后触发警报,并且部分刷新的任何其他代码都已完成。此时,触发(客户端)JavaScript警报的HTML将被发布回浏览器,浏览器将对其进行操作。

如果您想将错误发回浏览器,我强烈建议使用XPages OpenLog Logger(而不仅仅是因为我在OpenNTF上贡献并支持它)。 openLogBean.addError(e)会将错误记录到OpenLog并将错误消息发回浏览器。

使用facesMessage.addMessage()将消息传递到服务器,如http://www.intec.co.uk/returning-error-messages-from-ssjs-through-the-facescontext/所述。我相信还有其他选项来管理不同的消息级别(例如警告,确认)。 FacesMessage是标准Java(在本例中为JSF)构造,因此Web上的文档对XPage也是有效的。