Xpages-每次保存文档时都会创建冲突

Xpages-每次保存文档时都会创建冲突,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"

我有一个xpage,有多个选项卡。第一个选项卡包含一个面板,仅当isNewNote()为true时,其内容才可编辑。所以我计算了面板的readonly属性

但每次我保存文档时,它都会创建一个新的冲突文档

同时,如果我取消选中只读属性,它将正确保存,不会发生任何冲突

有人能帮我解决这个问题吗

代码-Xpage

<?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上只有一个字段。我认为这是因为浏览器看到一个只有一个字段的表单需要提交,所以基本提交调用表单动作保存,按钮调用保存。讽刺的是,原始文档没有被修改,冲突也没有被双重保存。只需隐藏第二个字段。再添加一个问题稍相似的链接,但他们的建议对我不起作用:(-再添加一个问题稍相似的链接,但他们的建议对我不起作用:)-