h:outputScript在Primefaces页面中导致IndexOutOfBoundsException

h:outputScript在Primefaces页面中导致IndexOutOfBoundsException,primefaces,indexoutofboundsexception,Primefaces,Indexoutofboundsexception,我正在我的项目中使用PrimeFaces4.0。 在模板文件中使用h:outputScript时,获取javax.faces.FacesException:还原id为j_idt54的组件的状态时出现意外错误。原因:java.lang.IndexOutOfBoundsException: 然后从模板中删除outputScipt标记,一切正常 <h:outputScript library="script" name="/resources/script/generalScript.js"&

我正在我的项目中使用PrimeFaces4.0。 在模板文件中使用h:outputScript时,获取javax.faces.FacesException:还原id为j_idt54的组件的状态时出现意外错误。原因:java.lang.IndexOutOfBoundsException:

然后从模板中删除outputScipt标记,一切正常

<h:outputScript library="script"  name="/resources/script/generalScript.js"></h:outputScript>       

</h:body>
非常感谢您的回答。

如果您使用的是library=script标记,请在name标记中给出脚本文件夹的路径

如下所示:name=generalScript.js


名称标签本身添加了脚本的完整路径。

请阅读:谢谢。在我添加这个问题之前,第一个用法是这样的。generalScript.js文件位于/resources/script/generalScript.js中。我的组件可以找到它,但此错误是在commandButton操作后引起的。请尝试将您的javascripts内联到相同的*.xhtml页面,然后查看错误是否继续,这可能是java脚本的问题。并尝试调试java脚本。或者您可以与bean共享整个页面。找出问题可能会有帮助。
<p:commandButton value="Login" action="#{view.login}"
                styleClass="user-buttonLvl2" >
            </p:commandButton>
javax.faces.FacesException: Unexpected error restoring state for component with id j_idt54.  Cause: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0.
at com.sun.faces.application.view.StateManagementStrategyImpl$1.visit(StateManagementStrategyImpl.java:273)
at com.sun.faces.component.visit.FullVisitContext.invokeVisitCallback(FullVisitContext.java:151)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1589)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:1600)
at com.sun.faces.component.visit.VisitUtils.doFullNonIteratingVisit(VisitUtils.java:75)
at com.sun.faces.application.view.StateManagementStrategyImpl.restoreView(StateManagementStrategyImpl.java:257)
at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:181)
at com.sun.faces.application.view.ViewHandlingStrategy.restoreView(ViewHandlingStrategy.java:123)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.restoreView(FaceletViewHandlingStrategy.java:448)
at com.sun.faces.application.view.MultiViewHandler.restoreView(MultiViewHandler.java:148)
at javax.faces.application.ViewHandlerWrapper.restoreView(ViewHandlerWrapper.java:303)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:187)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:280)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:254)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:136)