Hallo zusammen
Ich wollte mal etwas mit JSF machen... und scheitere schon bei einem einfachen Login. Dabei habe ich unter JSF ein EJB UserManager die JSF Seite sieht wie folgt aus:
Das dazugehörige Bean:
Dabei erhalte ich immer die Fehlermeldung:
Ich bin mit meinem Latein völlig am Ende. Ich weiss nicht mehr was ich hier falsch mache. Könnt Ihr mir helfen.
Ich wollte mal etwas mit JSF machen... und scheitere schon bei einem einfachen Login. Dabei habe ich unter JSF ein EJB UserManager die JSF Seite sieht wie folgt aus:
Code:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle var="welcometxt" basename="welcome.texts"/>
<f:loadBundle var="logintxt" basename="login.texts"/>
<f:loadBundle var="Generaltxt" basename="general.texts"/>
<html>
<f:view>
<head>
<title><h:outputText value="#{generaltxt.title}" /></title>
</head>
<body>
<h3><h:outputText value="#{logintxt.login}" /></h3>
<h:outputText value="#{logintxt.loginmsg}" /></p>
<h:form>
<h:panelGrid border="0" columns="2">
<f:facet name="header">
<h:outputText value="#{logintxt.login}"/>
</f:facet>
<h:outputText value="#{logintxt.user}"/>
<h:inputText value="#{login.password}" required="true"/>
<h:outputText value="#{logintxt.pass}"/>
<h:inputText value="#{login.username}" required="true"/>
<h:commandButton action="#{login.login}" value="Submit"/>
</h:panelGrid>
</h:form>
<h:messages/>
</body>
</f:view>
</html>
Das dazugehörige Bean:
Code:
public class Login {
private String userName;
private String password;
private User user;
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String login(){
UserManager uMgmt = (UserManager) ServiceLocator.getSessionBean("privateBank/remote/UserManager");
if(uMgmt == null){
return "error";
}
else{
user = uMgmt.login(userName, password);
if(user != null){
return "succes";
}
else{
return "error";
}
}
}
}
Dabei erhalte ich immer die Fehlermeldung:
Code:
javax.faces.FacesException: Could not retrieve value of component with path : {Component-Path : [Class: javax.faces.component.UIViewRoot,ViewId: /login.jsp][Class: javax.faces.component.html.HtmlForm,Id: _idJsp3][Class: javax.faces.component.html.HtmlPanelGrid,Id: _idJsp4][Class: javax.faces.component.html.HtmlInputText,Id: _idJsp9]}
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
Ich bin mit meinem Latein völlig am Ende. Ich weiss nicht mehr was ich hier falsch mache. Könnt Ihr mir helfen.