在浏览扩展库的示例数据库时,我找到了一个函数@FullUrl
。我无法在帮助文档中找到它,但它的工作方式与此类似。如果我添加@FullUrl("myXPage.xsp")
之类的语句,则会输出/path/mydatabase.nsf/myXPage.xsp
。
搜索网页时返回this link from XPages cheat sheet,其中提及其用法与上述相同。 IBM对此功能的支持是什么?缺少文档的帮助只是一个错误,还是不打算在生产应用程序中使用?
注意:我使用的是Lotus Notes 8.5.3
答案 0 :(得分:2)
有未记载的函数
// Document helpers
addFunction(FCT_TOPPARENTID, "@TopParentID", "(doc:W):T"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_TOPPARENTUNID, "@TopParentUNID", "(doc:W):T"); // $NON-NLS-1$ $NON-NLS-2$
// URL handling
addFunction(FCT_FULLURL, "@FullUrl", "(str:T):T"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_ABSOLUTEURL, "@AbsoluteUrl", "(str:T):T"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_ENCODEURL, "@EncodeUrl", "(str:T):T"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_ISABSOLUTEURL, "@IsAbsoluteUrl", "(str:T):T"); // $NON-NLS-1$ $NON-NLS-2$
// XPages helpers
addFunction(FCT_ERRORMESSAGE, "@ErrorMessage", "(str:Tcomp:W):V"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_WARNINGMESSAGE, "@WarningMessage", "(str:Tcomp:W):V"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_INFORMATIONMESSAGE, "@InfoMessage", "(str:Tcomp:W):V"); // $NON-NLS-1$ $NON-NLS-2$
// Domino View
addFunction(FCT_VIEWICONURL, "@ViewIconUrl", "(icon:I):T"); // $NON-NLS-1$ $NON-NLS-2$
addFunction(FCT_NORMALIZESUBJECT, "@NormalizeSubject", "(subject:T):T", "(subject:T, maxlength:I):T"); // $NON-NLS-1$ // $NON-NLS-2$ // $NON-NLS-3$
我在一年前写过这篇文章http://www.eknori.de/2011-11-22/extension-library-8-5-3-undocumented-functions/
你可以在ExtensionLibraryOpenNTF-853.20121022-1354 \ srcOpenNTF \ eclipse \ plugins \ com.ibm.xsp.extlib.domino \ src \ com \ ibm \ xsp \ extlib \ javascript dir中的NotesFunctionsEx.java文件中找到它们(首先解压缩srcOpenNTF.zip)
您可以使用该代码作为参考,了解如何构建自己的SSJS扩展(http://www.openntf.org/Internal/home.nsf/project.xsp?databaseName=CN=NotesOSS2/O=NotesOSS!!Projects \ pmt.nsf& documentId = 6159D09FC2EA663C862579F30028803E& action = openDocument)
所以,如果你不安全,如果这些函数在将来的版本中不属于extLib,你可以将它包含在你自己的扩展中......
答案 1 :(得分:0)
我能找到的唯一参考是在XPages Extension Library一书中。所以它有可能是extlib的一部分。
文档可能不同步。但是,如果不是,则通常不支持未记录的功能。这可能是由于几个原因造成的。
在生产中使用此类调用的风险由您自行承担。这是一个漫长的周末,所以我无法核实身份。