Это происходит из следующей строки:
<h:form id="internalServerErrorPageForm" binding="#{ServerErrorBean.initForm}">
Вы связали форму с бином по неизвестной причине.Исключение указывает, что у этого компонента есть родительский элемент, но на самом деле это , а не родительский элемент в соответствии с деревом компонентов на странице JSP.Это, в свою очередь, указывает на то, что вы делаете что-то вроде следующего в bean-компоненте до или во время вызова метода getInitForm()
:
form.setParent(someComponent);
Если это так, то вам следует удалить эту строку.*
Обновление : еще одна возможная причина заключается в том, что вы забыли поместить <f:view>
вокруг HTML с компонентами JSF.
Обновление 2: Еще одна причина заключается в том, что вы привязываете несколько и физически различных компонентов <h:form>
к одному и тому же свойству компонента.Каждый из них должен быть привязан к своему собственному уникальному свойству (или, в данном случае, вообще не должен быть связан, это можно сделать лучше, см. Ниже).
Не имеет отношения к проблеме, какvalidateSession
метод, весь метод может быть упрощен до следующего единственного выражения EL в представлении:
rendered="#{not empty user.name}"
при условии, что SessionAttributes.USER_LOGIN_NAME
равно user
.