@FullUrl - 未记录的函数

时间:2012-10-28 16:54:08

标签: xpages

在浏览扩展库的示例数据库时,我找到了一个函数@FullUrl。我无法在帮助文档中找到它,但它的工作方式与此类似。如果我添加@FullUrl("myXPage.xsp")之类的语句,则会输出/path/mydatabase.nsf/myXPage.xsp

搜索网页时返回this link from XPages cheat sheet,其中提及其用法与上述相同。 IBM对此功能的支持是什么?缺少文档的帮助只是一个错误,还是不打算在生产应用程序中使用?

注意:我使用的是Lotus Notes 8.5.3

2 个答案:

答案 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的一部分。

文档可能不同步。但是,如果不是,则通常不支持未记录的功能。这可能是由于几个原因造成的。

  • 该功能无法正常运行或尚未经过全面测试。
  • 该功能可能会在以后的版本中被删除/更改,从而破坏功能。
  • 该功能仅供内部使用。

在生产中使用此类调用的风险由您自行承担。这是一个漫长的周末,所以我无法核实身份。