java.lang.StringIndexOutOfBoundsException: индекс строки вне диапазона: -1 в com.sun.faces.renderkit.ServerSideStateHelper.getState
Когда я использую этот код без <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)
Как это вызвано и как я могу решить это?
1 ответ
Решение
Давайте начнем с удаления внешнего h:form
(форма, которая оборачивает <p:wizard>
) потому что у вас есть вложенные формы здесь (что плохо)