JSF + Tomcat: 测试页面时,出现Cannot get value for expression错误
在测试页面时,当输入密码,点击按钮后,TOMCAT报了以下的错误:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Cannot get value for expression '#{userManage.userPassword}'
javax.faces.webapp.FacesServlet.service(FacesServlet.java:152)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
root cause
javax.faces.el.EvaluationException: Cannot get value for expression '#{userManage.userPassword}'
org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:402)
javax.faces.component.UIOutput.getValue(UIOutput.java:77)
javax.faces.component.UIInput.validate(UIInput.java:357)
javax.faces.component.UIInput.processValidators(UIInput.java:183)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
javax.faces.component.UIForm.processValidators(UIForm.java:70)
javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:624)
javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:146)
org.apache.myfaces.lifecycle.LifecycleImpl.processValidations(LifecycleImpl.java:262)
org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:144)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
这个应该如何解决?谢谢!!
faces-config.xml里配置:
<managed-bean>
<managed-bean-name>userManage</managed-bean-name>
<managed-bean-class>com.cgcSwms.javaBean.UserManage</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
UserManage.java里的代码:
private String userName;
private String userPassword;
public void setUserName (String userName) {
this.userName = userName;
}
public String getUserName () {
return userName;
}
public void setUserPassword (String userPassword) {
this.userPassword = userPassword;
}
public String getUserPassword () {
return userPassword;
}
JSP里的代码:
<t:panelGrid id="leftNaviGrid1" columns="1" border="0">
<t:panelGroup>
<t:graphicImage url="/images/left_user.gif" border="1"></t:graphicImage>
</t:panelGroup>
<t:panelGroup>
<h:outputText value="#{Message.userID}" />
<h:inputText value="#{userManage.userName}" />
</t:panelGroup>
<t:panelGroup>
<h:outputText value="#{Message.userPassword}" />
<h:inputSecret value="#{userManage.userPassword}" />
</t:panelGroup>
<t:panelGroup>
<t:commandButton value="#{Message.userLogin}" action=""/>
<t:commandButton value="#{Message.userRegister}" action=""/>
</t:panelGroup>
</t:panelGrid>