2011-09-21 13 views
3

안녕하세요! 나는 초보자이다. 간단한 JSF 애플리케이션이있다. 그러나 예상대로 작동하지 않습니다.JSF에서의 내비게이션

공용 클래스 TextBean 직렬화 {

를 구현 : 이것은 내 빈 클래스 TextBean.java이

<h:body> 
    <h:outputText value="You have entered incorrect data"/> 
    <h:form id="errorForm">  
       <h:commandLink value="Back to login page" action="#{TextBean.backToLogin}"/> 
    </h:form> 
</h:body> 

입니다 : 이것은 내 error.xhtml입니다

<h:body> 
    <h:outputText value="Please enter your login and password"/> 
    <h:form id="loginForm"> 
     <h:panelGrid columns="2">  
       <h:outputText value="User name"/>     
       <h:inputText value="#{textBean.login}" required="true"/> 
       <h:outputText value="Password"/> 
       <h:inputSecret value="#{textBean.password}" required="true"/> 
       <h:commandButton value="Submit" action="#{textBean.doLogin}"/> 
     </h:panelGrid> 
    </h:form> 
</h:body> 

: 이 내 login.xhtml입니다

private static final long serialVersionUID = 1L; 

private String login; 

private String password; 

public String getLogin() { 
    return login; 
} 

public void setLogin(String login) { 
    this.login = login; 
} 

public String getPassword() { 
    return password; 
} 

public void setPassword(String password) { 
    this.password = password; 
} 

public String doLogin() { 
    if ("admin".equals(login) && "mypass".equals(password)) { 
     return "welcome"; 
    } else { 
     return "error"; 
    } 

} 

public String backToLogin() { 
     return "login"; 
} 

}

오류 페이지가 로그인 페이지로 돌아 가지 않는 이유는 무엇입니까? "로그인 페이지로 돌아 가기"링크를 클릭하면 예외가 발생합니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

 The server encountered an internal error() that prevented it from fulfilling this request. 
javax.servlet.ServletException: javax.el.PropertyNotFoundException: /error.xhtml @14,80 action="#{TextBean.doMyLogin}": Target Unreachable, identifier 'TextBean' resolved to null 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:521) 
javax.faces.el.EvaluationException: javax.el.PropertyNotFoundException: /error.xhtml @14,80 action="#{TextBean.doMyLogin}": Target Unreachable, identifier 'TextBean' resolved to null 
    javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:95) 
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    javax.faces.component.UICommand.broadcast(UICommand.java:315) 
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787) 
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252) 
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:508) 
javax.el.PropertyNotFoundException: /error.xhtml @14,80 action="#{TextBean.doMyLogin}": Target Unreachable, identifier 'TextBean' resolved to null 
    com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:107) 
     javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) 
    com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) 
    javax.faces.component.UICommand.broadcast(UICommand.java:315) 
    javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:787) 
    javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1252) 
    com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) 
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) 
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) 
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:508) 

는, 친애하는 친구를 제발 도와주세요 : 이 내 예외입니다! 어떤 도움이라도 대단히 감사하겠습니다.

+2

구체적인 문제 외에도 ''을 사용하여 같은 형식으로 오류 메시지를 표시하면 어떻습니까? POST 요청에 대한 정방향 탐색은 모든 범위에서 피해야합니다. 이 자료에서 몇 가지 지침을 찾을 수 있습니다. http://balusc.blogspot.com/2011/09/communication-in-jsf-20.html – BalusC

+0

@BalusC - 좋은 기사 :) –

답변

6

빈의 이름은 textBean이 아니고 TextBean이 아닙니다. 그래서 JSF가 해결할 수없는 이유는 다음과 같습니다 : identifier 'TextBean' resolved to null

+0

대단히 감사합니다! 매우 어리석은 실수 ... – Michael

+0

@Andrei - 당신은 환영합니다, 그것은 모두에게 일어납니다. –

+1

@Andrei 그것은이 대답을 받아 들일 수 있습니다. – Andrey

관련 문제