javax.faces.FacesException: Невозможно добавить один и тот же компонент дважды: javax_faces_location_HEAD - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь обновить проект с JSF 1.2 до 2.2.18.Приложение работает хорошо, и я могу добраться до страниц, но главная проблема заключается в том, что, когда я пытаюсь поиграть с кнопками, я получаю следующее исключение.Я уже искал проблему и пробовал некоторые решения, но ни одно из них не работало, кроме установки javax.faces.PARTIAL_STATE_SAVING в false.Но в этом случае поведение страницы меняется, например, текстовое поле появляется внизу страницы.С другой стороны, я даже не уверен, должен ли этот параметр быть установлен на false.Вот некоторые зависимости:

<dependency>
    <groupId>com.github.OpenFaces-org</groupId>
    <artifactId>OpenFaces</artifactId>
    <version>v3.0-release</version>
</dependency>
<dependency>
    <groupId>org.apache.myfaces.tomahawk</groupId>
    <artifactId>tomahawk21</artifactId>
    <version>1.1.14</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-api</artifactId>
    <version>2.2.18</version>
</dependency>
<dependency>
    <groupId>com.sun.faces</groupId>
    <artifactId>jsf-impl</artifactId>
    <version>2.2.18</version>
</dependency>
<dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>6.0</version>
</dependency>
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

Я очень боюсь, что Tomahawk21 вызывает проблему и не знаю, как ее решить.<t:saveState value="#{refererBean.referer}"/> Этот тип тегов saveState используется.

Stacktrace:

FINE: No renderer-type for component javax_faces_location_HEAD
Dec 11, 2018 3:19:20 PM com.sun.faces.application.view.FaceletViewHandlingStrategy handleRenderException
SEVERE: Error Rendering View[/addRestrictedArticle.xhtml]
javax.faces.FacesException: Cannot add the same component twice: javax_faces_location_HEAD
    at com.sun.faces.context.StateContext$DynamicAddRemoveListener.handleAddRemoveWithAutoPrune(StateContext.java:748)
    at com.sun.faces.context.StateContext$DynamicAddRemoveListener.handleAdd(StateContext.java:664)
    at com.sun.faces.context.StateContext$AddRemoveListener.processEvent(StateContext.java:347)
    at com.sun.faces.context.StateContext$DynamicAddRemoveListener.processEvent(StateContext.java:565)
    at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
    at javax.faces.event.ComponentSystemEvent.processListener(ComponentSystemEvent.java:118)
    at com.sun.faces.application.ApplicationImpl.processListenersAccountingForAdds(ApplicationImpl.java:2218)
    at com.sun.faces.application.ApplicationImpl.invokeViewListenersFor(ApplicationImpl.java:2036)
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:290)
    at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:245)
    at javax.faces.application.ApplicationWrapper.publishEvent(ApplicationWrapper.java:726)
    at org.openfaces.application.OpenFacesApplication.publishEvent(OpenFacesApplication.java:43)
    at javax.faces.component.UIComponentBase.publishAfterViewEvents(UIComponentBase.java:2254)
    at javax.faces.component.UIComponentBase.doPostAddProcessing(UIComponentBase.java:1935)
    at javax.faces.component.UIComponentBase.setParent(UIComponentBase.java:448)
    at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:3006)
    at javax.faces.component.UIComponentBase$FacetsMap.put(UIComponentBase.java:2966)
    at javax.faces.component.UIViewRoot.getComponentResources(UIViewRoot.java:1818)
    at javax.faces.component.UIViewRoot.addComponentResource(UIViewRoot.java:521)
    at com.sun.faces.application.annotation.ResourceDependencyHandler.pushResourceToRoot(ResourceDependencyHandler.java:126)
    at com.sun.faces.application.annotation.ResourceDependencyHandler.apply(ResourceDependencyHandler.java:107)
    at com.sun.faces.application.annotation.AnnotationManager.applyAnnotations(AnnotationManager.java:377)
    at com.sun.faces.application.annotation.AnnotationManager.applyComponentAnnotations(AnnotationManager.java:279)
    at com.sun.faces.application.ApplicationImpl.applyAnnotations(ApplicationImpl.java:1972)
    at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1922)
    at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:926)
    at javax.faces.application.ApplicationWrapper.createComponent(ApplicationWrapper.java:335)
    at org.openfaces.component.validation.ValidationProcessor.getDefaultPresentationInstance(ValidationProcessor.java:389)
    at org.openfaces.component.validation.ValidationSupportResponseWriter.renderPresentationComponent(ValidationSupportResponseWriter.java:344)
    at org.openfaces.component.validation.ValidationSupportResponseWriter.handleEditableValueHolder(ValidationSupportResponseWriter.java:300)
    at org.openfaces.component.validation.ValidationSupportResponseWriter.processEditableValueHolder(ValidationSupportResponseWriter.java:272)
    at org.openfaces.component.validation.ValidationSupportResponseWriter.startElement(ValidationSupportResponseWriter.java:137)
    at com.sun.faces.renderkit.html_basic.TextareaRenderer.getEndTextToRender(TextareaRenderer.java:91)
    at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:170)
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
    at com.test.test.web.jsf.view.ExtendedViewHandler.renderView(ExtendedViewHandler.java:56)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)

Я надеюсь, что кто-то может дать мне подсказки.

Заранее спасибо.

...