Xpages-每次保存文档时都会创建冲突
我有一个xpage,有多个选项卡。第一个选项卡包含一个面板,仅当isNewNote()为true时,其内容才可编辑。所以我计算了面板的readonly属性 但每次我保存文档时,它都会创建一个新的冲突文档 同时,如果我取消选中只读属性,它将正确保存,不会发生任何冲突 有人能帮我解决这个问题吗 代码-XpageXpages-每次保存文档时都会创建冲突,xpages,xpages-extlib,xpages-ssjs,Xpages,Xpages Extlib,Xpages Ssjs,我有一个xpage,有多个选项卡。第一个选项卡包含一个面板,仅当isNewNote()为true时,其内容才可编辑。所以我计算了面板的readonly属性 但每次我保存文档时,它都会创建一个新的冲突文档 同时,如果我取消选中只读属性,它将正确保存,不会发生任何冲突 有人能帮我解决这个问题吗 代码-Xpage <?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core"
<?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="frmOnboardingRequest">
</xp:dominoDocument>
</xp:this.data>
<xp:panel>
<xp:this.readonly><![CDATA[#{javascript:if(document1.isNewNote()){
return false;
}else{
return true;
}}]]></xp:this.readonly>
<xp:table>
<xp:tr>
<xp:td>
<xp:label value="O n_ e d_ form completed by:"
id="oN_ED_FormCompletedBy_Label1" for="oN_ED_FormCompletedBy1">
</xp:label>
</xp:td>
<xp:td>
<xp:inputText
value="#{document1.ON_ED_EmployeeName}"
id="oN_ED_FormCompletedBy1">
</xp:inputText>
</xp:td>
</xp:tr>
</xp:table></xp:panel>
<xp:button value="Submit" id="button1"><xp:eventHandler event="onclick" submit="true" refreshMode="complete" immediate="false" save="true"></xp:eventHandler></xp:button></xp:view>
检查指向同一文档的多个数据源 以前的一些帖子也有同样的问题 ================================================= 编辑 我不得不把按钮代码改成这个来解决同样的问题
<xp:button value="Submit" id="button1"><xp:eventHandler event="onclick" refreshMode="complete" submit="true">
<xp:this.action>
<xp:saveDocument></xp:saveDocument>
</xp:this.action></xp:eventHandler></xp:button>
经过更多的测试后,试试这个
将此字段添加到xpage的末尾
<xp:inputText id="inputText1"
value="#{document1.temp}"
style="visibility:hidden;display:none">
</xp:inputText>
然后不会创建冲突。检查指向同一文档的多个数据源 以前的一些帖子也有同样的问题 ================================================= 编辑 我不得不把按钮代码改成这个来解决同样的问题
<xp:button value="Submit" id="button1"><xp:eventHandler event="onclick" refreshMode="complete" submit="true">
<xp:this.action>
<xp:saveDocument></xp:saveDocument>
</xp:this.action></xp:eventHandler></xp:button>
经过更多的测试后,试试这个
将此字段添加到xpage的末尾
<xp:inputText id="inputText1"
value="#{document1.temp}"
style="visibility:hidden;display:none">
</xp:inputText>
这样就不会产生冲突。的确奇怪,但也不奇怪。数据源绑定到页面而不是面板。因此,如果您只想为该面板设置读取模式,请考虑从页面的数据源计算面板的数据源:
<xp:panel>
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"></xp:dominoDocument>
</xp:this.data>
</xp:panel>
当然,您必须计算文档模式和docid,而不是使用readonly属性。确实奇怪,但也不奇怪。数据源绑定到页面而不是面板。因此,如果您只想为该面板设置读取模式,请考虑从页面的数据源计算面板的数据源:
<xp:panel>
<xp:this.data>
<xp:dominoDocument var="document1" action="openDocument"></xp:dominoDocument>
</xp:this.data>
</xp:panel>
当然,您必须计算文档模式和docid,而不是使用readonly属性。除了其他建议外,在使用选项卡式表格时,您需要仔细阅读本文。我在以前的项目中遇到过类似的问题,Tommy Valand的redirectToCurrentDocument()修复了这些问题
除了其他建议外,在使用选项卡式表格时,您需要仔细阅读本文。我在以前的项目中遇到过类似的问题,Tommy Valand的redirectToCurrentDocument()修复了这些问题
谢谢。我只有一个数据源,只需点击一个按钮即可保存。令人困惑的是,当我取消选中面板的“只读”属性时,不会创建冲突文档。我在主要帖子中加入了一个简单的xpage来模拟这个有趣的,我以前从未尝试过。更改并发模式后,此错误显示为“文档已由其他用户保存-保存已取消”,但事实并非如此:-)问题似乎在于XPage上只有一个字段。我认为这是因为浏览器看到一个只有一个字段的表单需要提交,所以基本提交调用表单动作保存,按钮调用保存。讽刺的是,原始文档没有被修改,冲突也没有被双重保存。只需要隐藏第二个字段。谢谢。我只有一个数据源,只需点击一个按钮即可保存。令人困惑的是,当我取消选中面板的“只读”属性时,不会创建冲突文档。我在主要帖子中加入了一个简单的xpage来模拟这个有趣的,我以前从未尝试过。更改并发模式后,此错误显示为“文档已由其他用户保存-保存已取消”,但事实并非如此:-)问题似乎在于XPage上只有一个字段。我认为这是因为浏览器看到一个只有一个字段的表单需要提交,所以基本提交调用表单动作保存,按钮调用保存。讽刺的是,原始文档没有被修改,冲突也没有被双重保存。只需隐藏第二个字段。再添加一个问题稍相似的链接,但他们的建议对我不起作用:(-再添加一个问题稍相似的链接,但他们的建议对我不起作用:)-