gpt4 book ai didi

javascript - 文档数据源属性更改嵌套自定义控件中的类型/类

转载 作者:行者123 更新时间:2023-11-30 17:12:03 25 4
gpt4 key购买 nike

这是我们内部日志的一部分,其中我打印了 2 个不同自定义控件的复合数据,一个是调用者,第二个是被调用者,在这两种情况下都是在 BeforePageLoad 事件期间。

参数 dataSource “按原样”传递,使用

dataSource="#{javascript:compositeData.dataSource}

日志

14:37:29.876 {dataSource=com.ibm.xsp.model.domino.wrapped.DominoDocument@379c379c,dataSource2=com.ibm.xsp.model.domino.wrapped.DominoDocument@379c379c}

14:37:29.894 {dataSource=com.ibm.xsp.binding.javascript.JavaScriptValueBinding@31433143,dataSource2=com.ibm.xsp.binding.javascript.JavaScriptValueBinding@32613261}

由于某种原因,在第二个自定义控件(由第一个调用)中,dataSource 丢失并变得完全无用。

问题

绑定(bind)突然改变类型是怎么发生的,即从包装的 DominoDocument 到 JavaScriptValueBinding ?我能做些什么呢?

PS dataSource2 是从顶部一直向下传递第二个参数的微弱尝试,绑定(bind)到同一个包装的 NotesDocument。

丑陋的解决方法

我现在没有通过参数正确传递文档,而是使用主页中声明的原始 NotesDocument。我们需要这个快速修复才能继续,但我很想解释一下这个错误(XPages 还是我的?)以及处理参数传递的正确方法。

最佳答案

它在我的简单示例中运行良好:

主页面

<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.data>
<xp:dominoDocument
var="document1"
formName="Test">
</xp:dominoDocument>
</xp:this.data>
<xc:datasource1
dataSource="#{document1}" />
</xp:view>

自定义控件“datasource1”(第一级)
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xc="http://www.ibm.com/xsp/custom"
beforePageLoad="#{javascript:print('1: ' + compositeData.dataSource)}">
datasource1
<xp:br />
<xc:datasource2
dataSource="#{compositeData.dataSource}" />
</xp:view>

自定义控件“datasource2”(第二级)
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
beforePageLoad="#{javascript:print('2: ' + compositeData.dataSource)}">
dataSource2
</xp:view>

服务器控制台上的输出显示两个级别的正确 DominoDocument 类型
HTTP JVM: 1: com.ibm.xsp.model.domino.wrapped.DominoDocument@7ee27ee2
HTTP JVM: 2: com.ibm.xsp.model.domino.wrapped.DominoDocument@7ee27ee2

您如何定义“数据源”属性类型并不重要——它确实适用于类型“字符串”和“com.ibm.xsp.model.domino.DominoDocumentData”。

也许,你可以从这个例子中找出你的代码有什么不同。

关于javascript - 文档数据源属性更改嵌套自定义控件中的类型/类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781116/

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