我遇到问题,我无法在我的应用程序中使用特定的XPage打开/创建文档。
为简单起见,我有2个XPage,一个名为XSP1.xsp,另一个名为XSP2.xsp。
每个页面顶部都有一个声明的dominoDocument:
<xp:this.data>
<xp:dominoDocument var="XSP1Doc" formName="XSP1">
</xp:dominoDocument>
</xp:this.data>
每个页面上都有我使用以下代码隐藏的按钮:
<xp:button styleClass="btn btn-primary" value="Label" id="myButton">
<xp:this.rendered><![CDATA[#{javascript:XSP1Doc.getItemValueString("Status") == "myStatus"}]]></xp:this.rendered>
</xp:button>
当我在查询字符串中使用或不使用?documentId参数打开XSP1.xsp时,它会打开。当我打开XSP2.xsp时,它没有打开,而是告诉我:
Script interpreter error, line=1, col=9: 'XSP2Doc' is null
我不能为我的生活决定两页之间有什么不同。更进一步,更奇怪的是,我可以打开在XSP2.xsp中使用XSP1.xsp创建的文档,以及在XSP1.xsp中使用XSP2.xsp创建的文档,但是我无法打开没有文档的XSP2,或者使用使用的表单创建的文档XSP2。
我意识到这可能会令人困惑,如有必要,请要求澄清。
编辑:
我删除了按钮和加载的页面,并加载了后端变量(假设我在查询字符串中有一个documentId)。如果我使用此页面创建文档,那么我实际上可以打开它。如果按钮存在,我仍然无法打开页面(如果我必须测试null是不是很重要,但我不明白为什么两个不同的页面之间会有所不同。 )
我注意到的一件事是我创建XSP2文档的方式,由于某种原因它没有$ Revised字段。这会导致这个问题吗?
编辑2:嗯,我刚刚复制了XSP1,删除了其中的所有内容,并重新创建了XSP2,现在它运行正常。仍然不知道有什么不同,但至少我已经过去了。
对答案感兴趣,所以我会把它留下来。
编辑3:结果我在一个字段中做了一些事情,由于一些恶作剧,这个字段正在回收一个名为XSP2的对象。我不认为这是一个真正的问题。不知道这里做了什么。删除这个问题?