gpt4 book ai didi

xpages - documentId 解析代码未执行 XPage

转载 作者:行者123 更新时间:2023-12-02 09:32:48 26 4
gpt4 key购买 nike

在我的 XPage 中,我需要设置数据源(Domino 文档)

我尝试按如下方式进行:

<xp:this.data>
<xp:dominoDocument var="requestDocument" action="openDocument" databaseName="#{javascript: print('db ok'); return database.getFilePath();}"
documentId="#{javascript:
print('heloooo');
var conclusion = database.getDocumentByUNID(doc_source.getDocument().getParentDocumentUNID());
var oConclusion = new OsnovaUI_document(conclusion);
var requestDoc = oConclusion.getMainDocument();

print('docID: ' + requestDoc.getUniversalID());

return requestDoc.getUniversalID();
}">

</xp:dominoDocument>
</xp:this.data>

我注意到的是 documentId 中的代码部分没有被执行。完全没有。这就是为什么我把 heloooo 放在那里。但是,databaseName 按预期工作。在控制台中我总是看到

09.03.2020 00:52:11   HTTP JVM: db ok

但不是heloooo:(

我做错了什么?提前致谢

最佳答案

最可能的原因是 ignoreRequestParams 未设置为 true。除非您进行了设置,否则数据源将根据 URL 查询字符串参数(HTTP 请求参数)检索有关要编辑哪个文档的所有详细信息。因此,URL 查询字符串参数优先,在未设置任何内容的情况下,这意味着“使用新文档”。如果您已定义 URL 查询字符串参数应优先,则运行代码后仅忽略它是低效的。因此,action="openDocument" 也被忽略 - 如果查询字符串中有 docId,它将打开该文档,否则它将创建一个新文档。

documentId 只能在页面首次加载时处理一次。根据数据源是否绑定(bind)到面板或 XPage/自定义控件,它也将在 beforePageLoad 事件之前运行。因此运行时绑定(bind) (#{javascript:...) 无效。 ${javascript:... 将避免混淆。

错误处理可能有助于确定是否存在错误。 XPage OpenLog Logger 是最普遍的记录器之一(免责声明,我是作者)https://openntf.org/main.nsf/project.xsp?r=project/XPages%20OpenLog%20Logger .

关于xpages - documentId 解析代码未执行 XPage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60591533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com