托管bean的代码:
# package pcenshao.pet_store.mbean;
#
# import java.util.Map;
#
# import javax.faces.context.FacesContext;
#
# import pcenshao.pet_store.Grobal;
# import pcenshao.pet_store.SpringUtil;
# import pcenshao.pet_store.entity.Adopter;
# import pcenshao.pet_store.service.AdopterService;
# import pcenshao.pet_store.vo.AdopterVO;
#
# public class AdopterLogin {
# private Adopter ad;
# private AdopterService as;
# private String msg;
#
# public AdopterLogin(){
# this.ad = new Adopter();
# this.as = (AdopterService)SpringUtil
# .getApplicationContext()
# .getBean("adopterService");
# }
#
#
# public String login(){
# if(this.as.login(ad)){
# Map<String,Object> s=
# FacesContext.getCurrentInstance()
# .getExternalContext()
# .getSessionMap();
#
# s.put(Grobal.Type, Grobal.TypeAdopter);
# s.put(Grobal.User, ad);
#
# return "success";
# }
# this.setMsg("用户名或密码错误");
# return "";
# }
#
# public void setMsg(String msg) {
# this.msg = msg;
# }
#
# public String getMsg() {
# return msg;
# }
#
#
# public void setAd(Adopter ad) {
# this.ad = ad;
# }
#
#
# public Adopter getAd() {
# return ad;
# }
#
# } 下面是faces-config.xml
1. <?xml version='1.0' encoding='UTF-8'?>
2.
3. <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
6. version="1.2">
7. <!--
8. <lifecycle> <phase-listener> </phase-listener> </lifecycle>
9. -->
10. <managed-bean>
11. <managed-bean-name>al</managed-bean-name>
12. <managed-bean-class>pcenshao.pet_store.mbean.AdminLogin</managed-bean-class>
13. <managed-bean-scope>request</managed-bean-scope>
14. </managed-bean>
15. <managed-bean>
16. <managed-bean-name>ah</managed-bean-name>
17. <managed-bean-class>pcenshao.pet_store.mbean.AdminHome</managed-bean-class>
18. <managed-bean-scope>session</managed-bean-scope>
19. </managed-bean>
20. <managed-bean>
21. <managed-bean-name>h</managed-bean-name>
22. <managed-bean-class>pcenshao.pet_store.mbean.Home</managed-bean-class>
23. <managed-bean-scope>request</managed-bean-scope>
24. </managed-bean>
25. <managed-bean>
26. <managed-bean-name>r</managed-bean-name>
27. <managed-bean-class>pcenshao.pet_store.mbean.Reg</managed-bean-class>
28. <managed-bean-scope>request</managed-bean-scope>
29. </managed-bean>
30. <managed-bean>
31. <managed-bean-name>login</managed-bean-name>
32. <managed-bean-class>pcenshao.pet_store.mbean.AdopterLogin</managed-bean-class>
33. <managed-bean-scope>request</managed-bean-scope>
34. </managed-bean>
35.
36. <navigation-rule>
37. <from-view-id>/admin/al.jsp</from-view-id>
38. <navigation-case>
39. <from-outcome>adminHome</from-outcome>
40. <to-view-id>/admin/ah.jsp</to-view-id>
41. </navigation-case>
42. </navigation-rule>
43. <navigation-rule>
44. <from-view-id>/login.jsp</from-view-id>
45. <navigation-case>
46. <from-outcome>success</from-outcome>
47. <to-view-id>/h.jsp</to-view-id>
48. </navigation-case>
49. </navigation-rule>
50.
51. </faces-config> 下面是jsp页面
1. <f:view>
2. <center>
3. <h:form>
4. <h:outputText value="#{login.msg}" style="color:red"></h:outputText>
5. <h:panelGrid columns="2">
6. <f:facet name="header">
7. <h:outputText value="领养者登录"></h:outputText>
8. </f:facet>
9. <h:outputText value="用户名:" ></h:outputText>
10. <h:inputText value="#{login.ad.name}" id="name" required="true"></h:inputText>
11. <h:outputText value="密 码:"></h:outputText>
12. <h:inputSecret value="#{login.ad.password}" id="password" required="true" ></h:inputSecret>
13. </h:panelGrid>
14. <h:panelGroup >
15. <h:commandButton value="登录" action="#{login.login}"></h:commandButton>
16. </h:panelGroup>
17. <h:panelGroup>
18. <h:message for="name"></h:message>
19. <h:message for="password"></h:message>
20. </h:panelGroup>
21. </h:form>
22. </center>
23. </f:view>
下面是出错信息:
javax.servlet.ServletException: Not a Valid Method Expression:
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)root causejavax.el.ELException: Not a Valid Method Expression:
org.apache.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:209)
org.apache.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:57)
org.apache.jsp.h_jsp._jspx_meth_h_005fcommandButton_005f0(h_jsp.java:954)
org.apache.jsp.h_jsp._jspx_meth_h_005fcolumn_005f4(h_jsp.java:865)
org.apache.jsp.h_jsp._jspx_meth_c_005fif_005f1(h_jsp.java:824)
org.apache.jsp.h_jsp._jspx_meth_h_005fdataTable_005f0(h_jsp.java:291)
org.apache.jsp.h_jsp._jspx_meth_h_005fform_005f0(h_jsp.java:229)
org.apache.jsp.h_jsp._jspx_meth_f_005fview_005f0(h_jsp.java:157)
org.apache.jsp.h_jsp._jspService(h_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:428)
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:444)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:116)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) 我实在是搞不明白了
如果我把AdopterLogin类里的login方法里的s.put(Grobal.User, ad);去掉
就没有错
为什么呀??真是郁闷
请高手指教
# package pcenshao.pet_store.mbean;
#
# import java.util.Map;
#
# import javax.faces.context.FacesContext;
#
# import pcenshao.pet_store.Grobal;
# import pcenshao.pet_store.SpringUtil;
# import pcenshao.pet_store.entity.Adopter;
# import pcenshao.pet_store.service.AdopterService;
# import pcenshao.pet_store.vo.AdopterVO;
#
# public class AdopterLogin {
# private Adopter ad;
# private AdopterService as;
# private String msg;
#
# public AdopterLogin(){
# this.ad = new Adopter();
# this.as = (AdopterService)SpringUtil
# .getApplicationContext()
# .getBean("adopterService");
# }
#
#
# public String login(){
# if(this.as.login(ad)){
# Map<String,Object> s=
# FacesContext.getCurrentInstance()
# .getExternalContext()
# .getSessionMap();
#
# s.put(Grobal.Type, Grobal.TypeAdopter);
# s.put(Grobal.User, ad);
#
# return "success";
# }
# this.setMsg("用户名或密码错误");
# return "";
# }
#
# public void setMsg(String msg) {
# this.msg = msg;
# }
#
# public String getMsg() {
# return msg;
# }
#
#
# public void setAd(Adopter ad) {
# this.ad = ad;
# }
#
#
# public Adopter getAd() {
# return ad;
# }
#
# } 下面是faces-config.xml
1. <?xml version='1.0' encoding='UTF-8'?>
2.
3. <faces-config xmlns="http://java.sun.com/xml/ns/javaee"
4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
6. version="1.2">
7. <!--
8. <lifecycle> <phase-listener> </phase-listener> </lifecycle>
9. -->
10. <managed-bean>
11. <managed-bean-name>al</managed-bean-name>
12. <managed-bean-class>pcenshao.pet_store.mbean.AdminLogin</managed-bean-class>
13. <managed-bean-scope>request</managed-bean-scope>
14. </managed-bean>
15. <managed-bean>
16. <managed-bean-name>ah</managed-bean-name>
17. <managed-bean-class>pcenshao.pet_store.mbean.AdminHome</managed-bean-class>
18. <managed-bean-scope>session</managed-bean-scope>
19. </managed-bean>
20. <managed-bean>
21. <managed-bean-name>h</managed-bean-name>
22. <managed-bean-class>pcenshao.pet_store.mbean.Home</managed-bean-class>
23. <managed-bean-scope>request</managed-bean-scope>
24. </managed-bean>
25. <managed-bean>
26. <managed-bean-name>r</managed-bean-name>
27. <managed-bean-class>pcenshao.pet_store.mbean.Reg</managed-bean-class>
28. <managed-bean-scope>request</managed-bean-scope>
29. </managed-bean>
30. <managed-bean>
31. <managed-bean-name>login</managed-bean-name>
32. <managed-bean-class>pcenshao.pet_store.mbean.AdopterLogin</managed-bean-class>
33. <managed-bean-scope>request</managed-bean-scope>
34. </managed-bean>
35.
36. <navigation-rule>
37. <from-view-id>/admin/al.jsp</from-view-id>
38. <navigation-case>
39. <from-outcome>adminHome</from-outcome>
40. <to-view-id>/admin/ah.jsp</to-view-id>
41. </navigation-case>
42. </navigation-rule>
43. <navigation-rule>
44. <from-view-id>/login.jsp</from-view-id>
45. <navigation-case>
46. <from-outcome>success</from-outcome>
47. <to-view-id>/h.jsp</to-view-id>
48. </navigation-case>
49. </navigation-rule>
50.
51. </faces-config> 下面是jsp页面
1. <f:view>
2. <center>
3. <h:form>
4. <h:outputText value="#{login.msg}" style="color:red"></h:outputText>
5. <h:panelGrid columns="2">
6. <f:facet name="header">
7. <h:outputText value="领养者登录"></h:outputText>
8. </f:facet>
9. <h:outputText value="用户名:" ></h:outputText>
10. <h:inputText value="#{login.ad.name}" id="name" required="true"></h:inputText>
11. <h:outputText value="密 码:"></h:outputText>
12. <h:inputSecret value="#{login.ad.password}" id="password" required="true" ></h:inputSecret>
13. </h:panelGrid>
14. <h:panelGroup >
15. <h:commandButton value="登录" action="#{login.login}"></h:commandButton>
16. </h:panelGroup>
17. <h:panelGroup>
18. <h:message for="name"></h:message>
19. <h:message for="password"></h:message>
20. </h:panelGroup>
21. </h:form>
22. </center>
23. </f:view>
下面是出错信息:
javax.servlet.ServletException: Not a Valid Method Expression:
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)root causejavax.el.ELException: Not a Valid Method Expression:
org.apache.el.lang.ExpressionBuilder.createMethodExpression(ExpressionBuilder.java:209)
org.apache.el.ExpressionFactoryImpl.createMethodExpression(ExpressionFactoryImpl.java:57)
org.apache.jsp.h_jsp._jspx_meth_h_005fcommandButton_005f0(h_jsp.java:954)
org.apache.jsp.h_jsp._jspx_meth_h_005fcolumn_005f4(h_jsp.java:865)
org.apache.jsp.h_jsp._jspx_meth_c_005fif_005f1(h_jsp.java:824)
org.apache.jsp.h_jsp._jspx_meth_h_005fdataTable_005f0(h_jsp.java:291)
org.apache.jsp.h_jsp._jspx_meth_h_005fform_005f0(h_jsp.java:229)
org.apache.jsp.h_jsp._jspx_meth_f_005fview_005f0(h_jsp.java:157)
org.apache.jsp.h_jsp._jspService(h_jsp.java:114)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:428)
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:444)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:116)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245) 我实在是搞不明白了
如果我把AdopterLogin类里的login方法里的s.put(Grobal.User, ad);去掉
就没有错
为什么呀??真是郁闷
请高手指教
这句抛出的问题。public String login()
你catch 一下 Exception。可能出异常了。