jsf - java.lang.StringIndexOutOfBoundsException : String index out of range: -1 at com. sun.faces.renderkit.ServerSideStateHelper.getState 异常

标签 jsf indexoutofboundsexception state-saving

当我在没有 <p:tab> 的情况下使用此代码时它按预期工作,

<h:form>
    <p:wizard>
        <p:tab title="Test-1">
            <h:form>
                <p:growl id="msg"/>
                <p:selectOneMenu value="#{studentController.departmentIDgenerate}">
                    <f:selectItems value="#{departmentController.departmentList}" var="deparet" itemLabel="#{deparet.departmentName}" itemValue="#{deparet.departmentId}"/>
                    <p:ajax listener="#{studentController.addMessage}" update="msg"/>
                </p:selectOneMenu>            
            </h:form>
        </p:tab>
        <p:tab title="Test-2">
        </p:tab>
    </p:wizard>
</h:form>

但是当我开始使用 <p:tab> 时,它会抛出以下异常:

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:266)
    at com.sun.faces.renderkit.ResponseStateManagerImpl.getState(ResponseStateManagerImpl.java:100)

这是怎么引起的,我该如何解决?

最佳答案

让我们从移除外部 h:form 开始(包装 <p:wizard> 的表单)因为你在这里有一个嵌套表单(这是不好的)

关于jsf - java.lang.StringIndexOutOfBoundsException : String index out of range: -1 at com. sun.faces.renderkit.ServerSideStateHelper.getState 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12554151/

相关文章:

java - 类转换异常 : Cannot cast FacesInitializer to ServletContainerInitializer with Tomcat 8

jsf - JSF 自定义组件中的更新属性需要完整的元素 ID 路径,而直接 PrimeFaces 组件则使用短元素 ID 路径运行

css - 如何在 p :panelGrid? 中将规则设置为无

foreach - 为什么我使用 foreach 总是得到 ArrayIndexOutOfBoundsException

javascript - 当图像在同一行时 commandLink 不工作

java - Android Realm Java 0.82.1 ArrayIndexOutOfBoundsException

c# - 多线程程序中的 IndexOutOfRange 异常

ios恢复谷歌地图sdk GMSMapsView的状态

jsf-2 - com.sun.faces.ClientStateSavingPassword - 实际密码的建议?