Jsf 2 无法达到目标';用户';有时返回null]
我有一个显示对话框的链接,如下所示:Jsf 2 无法达到目标';用户';有时返回null],jsf-2,jsf-2.2,backing-beans,Jsf 2,Jsf 2.2,Backing Beans,我有一个显示对话框的链接,如下所示: <h:form> <div class="btn-alt" id="#signupStart"> <h:commandLink action="#{signUpBean.displaySignUpScreenAction()}">#{msg['action.createaccount']} <f:ajax onevent="function(data) {if (data.st
<h:form>
<div class="btn-alt" id="#signupStart">
<h:commandLink action="#{signUpBean.displaySignUpScreenAction()}">#{msg['action.createaccount']}
<f:ajax onevent="function(data) {if (data.status == 'success') {$('#signUpDialog').dialog('open');startGA();} }" render=":signupform"/>
</h:commandLink>
</div>
</h:form>
<h:form id="signupform" title="#{msg['action.createaccount']}"><input type="hidden" autofocus="autofocus" />
<div style="position: relative;">
<h:inputText maxlength="50" id="txtFirstName" placeholder="#{msg['firstname']}" value="#{signUpBean.user.firstName}" styleClass="#{component.valid?'':'field-error'}" title="#{msg['firstname']}">
<f:ajax event="blur" render="txtFirstName messages"/>
</h:inputText>
</div>
</h:form>
单击show dialog链接,我创建用户对象,然后渲染对话框,因此绑定应该可以正常工作,实际上它可以正常工作,但有时在生产服务器上,我会在日志中看到错误,如:
value="#{signUpBean.user.firstName}": Target Unreachable, 'user' returned null] with root cause
Jun 09 17:04:03 myapp i-e38b9c8c: javax.el.PropertyNotFoundException: Target Unreachable, 'user' returned null
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.parser.AstValue.getTarget(AstValue.java:147)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.parser.AstValue.getType(AstValue.java:81)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:171)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1046)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.validate(UIInput.java:976)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.executeValidate(UIInput.java:1249)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.processValidators(UIInput.java:712)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIForm.processValidators(UIForm.java:253)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
Less
我使用的是JSF2.2,请告知为什么有时会出现此错误以及如何解决。显示您的ManagedBeancode@TiagoVieira Dos Santos,要显示的代码,我已经显示了init的重要部分。您的用户对象属性和getter。你有什么构造方法吗?如果您尝试将用户对象初始化一切正常,我为用户对象和用户对象内的属性设置了setter和getter,只是这个错误我无法重现,但有时我会在日志中找到它。
value="#{signUpBean.user.firstName}": Target Unreachable, 'user' returned null] with root cause
Jun 09 17:04:03 myapp i-e38b9c8c: javax.el.PropertyNotFoundException: Target Unreachable, 'user' returned null
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.parser.AstValue.getTarget(AstValue.java:147)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.parser.AstValue.getType(AstValue.java:81)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:171)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1046)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.validate(UIInput.java:976)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.executeValidate(UIInput.java:1249)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIInput.processValidators(UIInput.java:712)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIForm.processValidators(UIForm.java:253)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1258)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1195)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
Jun 09 17:04:03 myapp i-e38b9c8c: at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
Jun 09 17:04:03 myapp i-e38b9c8c: at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
Jun 09 17:04:03 myapp i-e38b9c8c: at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
Less