- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 XPage,由于(本来应该是)一个小更改而刚刚损坏。
如果我运行(其中 document1 是 NotesXSPDocument 数据源):
document1.replaceItem("ItemName", false); //or true, or any variable/formula that results in a boolean
后跟:
document1.getDocument(true);
我最终遇到了一个错误
[TypeError] Exception occurred calling method NotesXspDocument.getDocument(boolean) null
这是一个新文档(所以尚未保存,我没有测试过,但可能会有所不同),因此我不能只在底层文档上设置字段。
它似乎不是页面中其他任何内容的产物,基本测试页面证实了这一点。除了 bool 值之外,(我发现)任何东西都不会发生这种情况。
除了更改数据类型之外,还有什么建议吗?我想这就是我最终要做的事情(以及错误报告),但我想知道我没有错过一些东西。
谢谢
------------测试XSP代码------------
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"><xp:this.data>
<xp:dominoDocument var="document1" formName="Test" />
</xp:this.data><xp:span style="font-weight:bold">
Button 1 code:</xp:span><xp:br></xp:br>document1.replaceItemValue("Test",false);
<xp:br></xp:br>var doc:NotesDocument = document1.getDocument(true);
<xp:br></xp:br>print(doc.toString());<xp:br></xp:br>
<xp:button value="Test 1" id="button1">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:document1.replaceItemValue("Test",false);
var doc:NotesDocument = document1.getDocument(true);
print(doc.toString());}]]></xp:this.action>
</xp:eventHandler></xp:button>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br>
<xp:br></xp:br><xp:span style="font-weight:bold">
Button</xp:span><xp:span style="font-weight:bold"> 2</xp:span><xp:span style="font-weight:bold"> Code:</xp:span><xp:span style="font-weight:bold"></xp:span> <xp:br></xp:br>document1.replaceItemValue("Test","Test);<xp:br></xp:br>var doc:NotesDocument = document1.getDocument(true);
<xp:br></xp:br>print(doc.toString());<xp:br></xp:br><xp:button value="Test 2" id="button2">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:document1.replaceItemValue("Test","Test");
var doc:NotesDocument = document1.getDocument(true);
print(doc.toString());}]]></xp:this.action>
</xp:eventHandler></xp:button></xp:view>
最佳答案
如果您查看堆栈跟踪,您将看到以下内容:
....
NotesException: Unknown or unsupported object type in Vector
lotus.domino.local.Document.NreplaceItemValue(Native Method)
lotus.domino.local.Document.replaceItemValue(Unknown Source)
com.ibm.xsp.model.domino.wrapped.DominoDocument.applyChangesToDoc(DominoDocument.java:1698)
com.ibm.xsp.model.domino.wrapped.DominoDocument.applyChanges(DominoDocument.java:1649)
com.ibm.xsp.model.domino.wrapped.DominoDocument.getDocument(DominoDocument.java:544)
com.ibm.xsp.script.WrapperDominoEx$fct_DominoDocument.call(WrapperDominoEx.java:254)
....
问题在于您使用的 replaceItemValue 方法具有不受支持的数据类型。
以下是所有允许的数据类型的列表:
后端文档与数据源文档同步时会引发该错误。这就是为什么它在调用 document1.getDocument(true) 时失败。
希望这有帮助
斯文
编辑:为什么要将值设置为false?
关于xpages - NotesXSPDocument - 插入 bool 值会破坏 getDocument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11208849/
在我的 Notes 数据库中,我在保存文档时执行审计。在 LotusScript 中非常简单。我从服务器获取原始文档 (oDoc),然后在我修改的文档 (mDoc) 中,我执行一个 Forall 循环
我有一个自定义控件,我向其中传递数据源。 customercontrol.xsp-config 文件属性: The src Datasource source data (WIP) Sour
在我正在处理的 JAVA bean 中,我想将 NotesXspDocument(可以使用 NotesDocument)传递给如下所示的方法: public List getReaders(Note
我有一个 XPage,由于(本来应该是)一个小更改而刚刚损坏。 如果我运行(其中 document1 是 NotesXSPDocument 数据源): document1.replaceItem("I
我是一名优秀的程序员,十分优秀!