我在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();
}
}
答案 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也是有效的。