Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xpages 使用repeat控件更新后出现运行时错误_Xpages - Fatal编程技术网

Xpages 使用repeat控件更新后出现运行时错误

Xpages 使用repeat控件更新后出现运行时错误,xpages,Xpages,我已经创建了一个重复控件。每当任何组件更新表单时,都会返回此运行时错误 我知道我的帖子大部分是代码,但我不知道我做错了什么。除了这一行胡说八道之外,很难填充任何内容,否则StackOverflow不允许我发布 javax.faces.FacesException com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:106) com.sun.faces.lif

我已经创建了一个重复控件。每当任何组件更新表单时,都会返回此运行时错误

我知道我的帖子大部分是代码,但我不知道我做错了什么。除了这一行胡说八道之外,很难填充任何内容,否则StackOverflow不允许我发布

   javax.faces.FacesException
    com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:106)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
    com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
    com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
    com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
java.lang.IllegalArgumentException
    javax.faces.model.ListDataModel.getRowData(ListDataModel.java:141)
    com.ibm.xsp.component.UIRepeatContainer.addIndexedDataContext(UIRepeatContainer.java:173)
    com.ibm.xsp.component.UIRepeatContainer.getDataContexts(UIRepeatContainer.java:86)
    com.ibm.xsp.util.DataPublisher.getDataContextList(DataPublisher.java:349)
    com.ibm.xsp.util.DataPublisher.revokeControlData(DataPublisher.java:271)
    com.ibm.xsp.component.UIDataPanelBase.revokeControlData(UIDataPanelBase.java:319)
    com.ibm.xsp.component.UIDataPanelBase.processDecodes(UIDataPanelBase.java:334)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    com.ibm.xsp.component.UIRepeat.processDecodes(UIRepeat.java:526)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    com.ibm.xsp.component.UIDataPanelBase.processDecodes(UIDataPanelBase.java:331)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    com.ibm.xsp.extlib.component.layout.UIVarPublisherBase.processDecodes(UIVarPublisherBase.java:123)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    com.ibm.xsp.component.UIDataPanelBase.processDecodes(UIDataPanelBase.java:331)
    javax.faces.component.UIForm.processDecodes(UIForm.java:166)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1177)
    javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:343)
    com.ibm.xsp.component.UIViewRootEx._processDecodes(UIViewRootEx.java:1438)
    com.ibm.xsp.component.UIViewRootEx.processDecodes(UIViewRootEx.java:1399)
    com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:98)
    com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
    com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
    com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
    com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
    com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
    com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
    com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
    com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
    com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
代码如下:

    <xp:repeat id="repeatApproveForward" repeatControls="true"
        var="repeat_row" indexVar="repeat_index">
        <xp:this.value><![CDATA[#{javascript:getComponent("ccAprForwardStateArray").getValue();}]]></xp:this.value>
        <xp:panel>
            <xp:this.rendered><![CDATA[#{javascript:currentDocument.isEditable() && compositeData.debug}]]></xp:this.rendered>
            <xp:br></xp:br>
            #
            <xp:text escape="true" id="ccAprForwardCount"
                value="#{javascript:repeat_index}" style="font-weight:bold">
                <xp:this.converter>
                    <xp:convertNumber type="number"
                        integerOnly="true">
                    </xp:convertNumber>
                </xp:this.converter>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">Status:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardStatus">
                <xp:this.value><![CDATA[#{javascript:repeat_row[0]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">StatusDesc:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardStatusDesc">
                <xp:this.value><![CDATA[#{javascript:repeat_row[1]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">Approver:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardApprover">
                <xp:this.value><![CDATA[#{javascript:repeat_row[2]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">Condition:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardCondition">

                <xp:this.value><![CDATA[#{javascript:repeat_row[3]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">
                MailNotification:
            </xp:span>
             
            <xp:text escape="true" id="ccAprForwardMail">

                <xp:this.value><![CDATA[#{javascript:repeat_row[4]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">
                MailTimeOutNotification
            </xp:span>
            <xp:span style="font-weight:bold">:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardTimeOutMail">

                <xp:this.value><![CDATA[#{javascript:repeat_row[5]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
            <xp:span style="font-weight:bold">EventSubject</xp:span>
            <xp:span style="font-weight:bold">:</xp:span>
             
            <xp:text escape="true" id="ccAprForwardEventSubject">

                <xp:this.value><![CDATA[#{javascript:repeat_row[6]}]]></xp:this.value>
            </xp:text>
            <xp:br></xp:br>
        </xp:panel>
        <xp:span style="font-weight:bold"></xp:span>
        <xp:button id="btnApproveForward"
            styleClass="btn btn-sm btn-success">
            <xp:this.value><![CDATA[#{javascript:getComponent("ccAprForwardStatusDesc").getValue();}]]></xp:this.value>

            <xp:this.rendered><![CDATA[#{javascript:viewScope.isShowAprNote != "1"
 && getComponent("ccAprForwardCondition").getValue()
 && getComponent("ccAprUserCondition").getValue();}]]></xp:this.rendered>
            <xp:span styleClass="glyphicon glyphicon-thumbs-up"></xp:span>




        <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
            <xp:this.action>
                <xp:actionGroup>
                    <xp:this.condition><![CDATA[#{javascript:if (!repeat_row[4] | @Trim([repeat_row[2]]) == "")
{false}else{true}}]]></xp:this.condition>
                    <xp:executeScript>
                        <xp:this.script><![CDATA[#{javascript:viewScope.isShowAprNote = "1"
viewScope.isShowRejNote = ""}]]></xp:this.script>
                    </xp:executeScript>

                    <xp:modifyField name="Status"
                        var="currentDocument">

                        <xp:this.value><![CDATA[#{javascript:repeat_row[0]}]]></xp:this.value>
                    </xp:modifyField>
                    <xp:modifyField name="StatusDesc"
                        var="currentDocument">
                        <xp:this.value><![CDATA[#{javascript:repeat_row[1]}]]></xp:this.value>
                    </xp:modifyField>
                    <xp:modifyField name="ApproveGroup"
                        var="currentDocument">
                        <xp:this.value><![CDATA[#{javascript:repeat_row[2]}]]></xp:this.value>
                    </xp:modifyField>
                    <xp:modifyField name="EventSubject"
                        var="currentDocument">
                        <xp:this.value><![CDATA[#{javascript:repeat_row[6]}]]></xp:this.value>
                    </xp:modifyField>

                </xp:actionGroup>
            </xp:this.action></xp:eventHandler></xp:button>
    </xp:repeat>

    <xp:panel id="panelAprNote" >
        <xp:this.rendered><![CDATA[#{javascript:viewScope.get("isShowAprNote") == "1" && viewScope.get("isShowRejNote") != "1"}]]></xp:this.rendered>
        <xp:inputText id="txtAprApproverNote"
            dojoType="dijit.form.TextBox" value="#{viewScope.AprApproverNote}">
            <xp:this.dojoAttributes>
                <xp:dojoAttribute name="placeholder"
                    value="Notunuzu giriniz">

                </xp:dojoAttribute>
            </xp:this.dojoAttributes>
        </xp:inputText>

        &#160;<xp:button value="Gönder" id="button4" styleClass="btn btn-sm btn-success">



            <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
                <xp:this.action>

                    <xp:actionGroup>

                        <xp:modifyField name="ApproverNote" var="currentDocument" value="#{javascript:viewScope.AprApproverNote}">

                        </xp:modifyField>

                        <xp:actionGroup>




                            <xp:executeScript>
                                <xp:this.script><![CDATA[#{javascript:currentDocument.getDocument().getFirstItem("ApprovalHistory").appendToTextList(@Text(@Now())+" Tarihinde " +@Name("[CN]",session.getEffectiveUserName()) + " Onayladı. :") & currentDocument.ApproverNote(0)}]]></xp:this.script>
                            </xp:executeScript>
                            <xp:executeScript>
                                <xp:this.script><![CDATA[#{javascript:var URL = facesContext.getExternalContext().getRequest().getRequestURL();
var notesLink = currentDocument.getDocument().getNotesURL();

var vHtml = '"Aşağıda linki bulunan döküman onayınıza gönderilmiştir. Bu bir bilgilendirme mailidir."<br></br><br></br><a href="'+notesLink+'">Onayınızdaki Dökümana Notes Uygulaması Üzerinden Ulaşmak İçin Tıklayınız</a><br></br><br></br>"Yukarıdaki link açılmıyor ise aşağıdaki linki tıklayınız."<br></br><a href="' +URL+'?documentId=' + currentDocument.getDocument().getUniversalID() + '&action=openDocument">Onayınızdaki Dökümana Web Browser Üzerinden Ulaşmak İçin Tıklayınız</a>'

 var mail = new HTMLMail();
 mail.setTo(currentDocument.getItemValue("ApproveGroup"));
 mail.setSubject("[ERP] Yapitasi " + currentDocument.getItemValue("Form") + " Onay Uyari Maili");
 mail.addHTML(vHtml);
 mail.send();}]]></xp:this.script>
                            </xp:executeScript>
                        </xp:actionGroup>
                        <xp:saveDocument var="currentDocument">
                        </xp:saveDocument>



                        <xp:openPage name="#{javascript:compositeData.view}">
                        </xp:openPage>





                    </xp:actionGroup>
                </xp:this.action>
            </xp:eventHandler>
        </xp:button>&#160;
        <xp:button value="Cancel" id="button3"
            styleClass="btn btn-default">

        <xp:eventHandler event="onclick" submit="true" refreshMode="complete"></xp:eventHandler></xp:button>

    </xp:panel>

#
地位:
 
状态描述:
 
批准人:
 
条件:
 
邮件通知:
 
邮件超时通知
:
 
事件主题
:
 
 
 

关键是识别组件。XPages OpenLogger应该做到这一点

原因是在部分刷新期间,在
applyRequestValues
阶段,它试图查询重复控件的数据。(应用请求值阶段是当浏览器中的值被传递到组件的
submittedValue
属性时。此错误并不意味着它实际设置了组件的
submittedValue
,它意味着它正在查询组件树并解析组件的值绑定。)

dominoView
datasource具有
dataCache=“id”
时,我以前在数据视图的细节方面就有过这种情况。我不确定这里是否是这种情况,或者它是否受到您设置的
repeatControls=“true”
的影响,这意味着在部分刷新期间不会重新计算行。如果受影响的组件是只读的,则可以将
属性的计算值包装在
If(view.isRenderingPhase()){…}
中,这样它就不会在应用请求值阶段进行计算


(这已在我在IBM Connect and Engage上运行的会话中介绍过。)

仅此错误消息不足以帮助您。我推荐两件事:1)减少代码和逻辑以隔离问题。2) 除了发送错误消息外:发布repeat/XPage的XML标记代码以及更新repeat的逻辑。