开始用JSF做了一个小项目,期间使用组件属性均为:
<h:inputText id="gzlxname"
value="#{GzlxJSFBean.gzlxname}" />我将gzlxname一个字符串直接放到BEAN中,那样来,在用JSF做第二个项目时发现有的书的案例这样写
<h:inputText id="gzlxname"
value="#{GzlxJSFBean.currentEO.gzlxname}" />
currentEO是一个VO,gzlxname是这个VO的一个属性,问题:我这样用,它怎么报错:就是不行,哽死我了
An exception occurred
javax.faces.FacesException: Exception while validating component with path : {Component-Path : [Class: org.ajax4jsf.component.AjaxViewRoot,ViewId: /gzlx_manager/gzlx_page.jsp][Class: javax.faces.component.UINamingContainer,Id: gzlx_edit_subview][Class: javax.faces.component.html.HtmlForm,Id: j_id_jsp_104316652_1][Class: org.richfaces.component.html.HtmlInputText,Id: gzlxcode]}
at javax.faces.component.UIInput.validate(UIInput.java:420)
at javax.faces.component.UIInput.processValidators(UIInput.java:185)
at javax.faces.component.UIForm.processValidators(UIForm.java:82)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:726)
at org.ajax4jsf.component.AjaxViewRoot$3.invokeContextCallback(AjaxViewRoot.java:439)
at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:238)
at org.ajax4jsf.component.AjaxViewRoot.processValidators(AjaxViewRoot.java:455)
at org.apache.myfaces.lifecycle.ProcessValidationsExecutor.execute(ProcessValidationsExecutor.java:32)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at umte.pub.tools.SessionCheckFilter.doFilter(SessionCheckFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.jasper.el.JspPropertyNotFoundException: /gzlx_manager/gzlx_edit.jsp(20,12) '#{GzlxJSFBean.currentEO.gzlxcode}' Target Unreachable, 'currentEO' returned null
at org.apache.jasper.el.JspValueExpression.getType(JspValueExpression.java:61)
at org.apache.myfaces.shared_impl.renderkit._SharedRendererUtils.findUIOutputConverter(_SharedRendererUtils.java:58)
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.findUIOutputConverter(RendererUtils.java:391)
at org.apache.myfaces.shared_impl.renderkit.RendererUtils.getConvertedUIOutputValue(RendererUtils.java:752)
at org.apache.myfaces.shared_impl.renderkit.html.HtmlTextRendererBase.getConvertedValue(HtmlTextRendererBase.java:219)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:455)
at javax.faces.component.UIInput.validate(UIInput.java:399)
... 38 more

解决方案 »

  1.   

    看到这里的错误提示了吗
    org.apache.jasper.el.JspPropertyNotFoundException: /gzlx_manager/gzlx_edit.jsp(20,12) '#{GzlxJSFBean.currentEO.gzlxcode}' Target Unreachable, 'currentEO' returned null 
    #{GzlxJSFBean.currentEO.gzlxcode}相当于GzlxJSFBean.getCurrentEO().getGzlxcode()
    GzlxJSFBean.getCurrentEO()返回了null,null.getGzlxcode()当然出错了
      

  2.   

    Thank You!我刚刚也不小心看到了,呵呵。
    准备接分