1

在 selectOneRadio 按钮更改的 ajax 调用期间,我遇到了异常。

我正在使用 primefaces 3.3.1 和 JSF 2.0

例外:

java.lang.StringIndexOutOfBoundsException: String index out of range: -1
    at java.lang.String.substring(String.java:1937)
    at com.sun.faces.renderkit.ServerSideStateHelper.getState(ServerSideStateHelper.java:263)
    at com.sun.faces.renderkit.ResponseStateManagerImpl.getState(ResponseStateManagerImpl.java:97)
    at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:217)
    at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:177)
    at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:119)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:438)
    at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:144)
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:182)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)

我的代码如下:

                <h:panelGrid columns="3" style="align:center">
                <h:outputText value="#{msg.accountCategory}" />
                <p:spacer width="10px" />
                <p:selectOneRadio id="singleJointAccountRadioId"
                    layout="horizontal"
                    value="#{captureAccountDetailBackingBean.accountCategory}">
                    <f:selectItems
                        value="#{captureAccountDetailBackingBean.accountcategoryList}">
                    </f:selectItems>
                    <p:ajax process="@this" update="secondAccountId" />
                </p:selectOneRadio>
            </h:panelGrid>


                <h:panelGroup id="secondAccountId">
                    <h:panelGrid id="secondAccountHolderId" columns="2"
                        styleClass="float-left"
                        rendered="#{captureAccountDetailBackingBean.accountCategory eq 'Joint'}">
                        <p:graphicImage
                            value="/com/cas/pages/common/images/person_icon.jpg" />
                        <h:outputText value="#{msg.secondAccountHolder}" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.nameofPerson}"
                                style="font-size:15px;" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputText
                            value="#{captureAccountDetailBackingBean.accountHolder2.personName}"
                            styleClass="inputText-style" size="25" required="true" />

                        <h:panelGrid columns="2">
                            <p:selectOneRadio id="fatherHusbandRadioButtonId2"
                                layout="horizontal"
                                value="#{captureAccountDetailBackingBean.accountHolder2.personHusbandOrFatherID}">
                                <f:selectItems
                                    value="#{captureAccountDetailBackingBean.holderRelationList}"></f:selectItems>
                            </p:selectOneRadio>
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputText
                            value="#{captureAccountDetailBackingBean.accountHolder2.relativeName}"
                            styleClass="inputText-style" size="25" required="true" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.address}" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputTextarea
                            value="#{captureAccountDetailBackingBean.accountHolder2.personAddress}"
                            rows="3" autoResize="false" styleClass="inputText-style"
                            size="25" required="true" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.dateOfBirth}" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:calendar
                            value="#{captureAccountDetailBackingBean.accountHolder2.personDOB}"
                            navigator="true" showOn="button" size="6"
                            styleClass="inputText-style" required="true" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.age}" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputText
                            value="#{captureAccountDetailBackingBean.accountHolder2.personAge}"
                            size="2" styleClass="inputText-style" required="true" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.pancardNumber}" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputText
                            value="#{captureAccountDetailBackingBean.accountHolder2.personPanNo}"
                            size="15" styleClass="inputText-style" required="true" />

                        <h:panelGrid columns="2">
                            <h:outputText value="#{msg.mobileNumber}" />
                            <span style="color: red;">*</span>
                        </h:panelGrid>
                        <p:inputText
                            value="#{captureAccountDetailBackingBean.accountHolder2.personMobileNo}"
                            size="15" styleClass="inputText-style" required="true" />

                    </h:panelGrid>
                </h:panelGroup>
4

0 回答 0