java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:com.sun.faces.renderkit.ServerSideStateHelper.getState处为-1 [英] java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at com.sun.faces.renderkit.ServerSideStateHelper.getState

查看:173
本文介绍了java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:com.sun.faces.renderkit.ServerSideStateHelper.getState处为-1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

When I use this code without <p:tab> it works as expected,

<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>时,它会引发以下异常:

but when I start using <p:tab>, it throws the below exception:

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)

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

How is this caused and how can I solve it?

推荐答案

首先删除外部h:form(包裹<p:wizard>的表单),因为您在这里有了嵌套的表单(不好)

Lets start by removing the outer h:form (form that wraps the <p:wizard> ) cause you got a nested forms here (which is bad)

这篇关于java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:com.sun.faces.renderkit.ServerSideStateHelper.getState处为-1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆