I have started learning JSF recently I'm working on a JSF page along with a managed bean. now I'm trying to attach ajax functionality to my code but I'm facing a problem of null pointer exception.
This is my index.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Student Registration Form</title>
</h:head>
<h:body>
<h3>Please enter user name and password</h3>
<h:form prependId="false">
Username: <h:inputText id="username" value="#{student.username}" />
<br></br>
<br></br>
Password: <h:inputSecret id="password" value="#{student.password}" />
<br></br>
<br></br>
<h:commandButton value="Login">
<f:ajax execute="username password" render="out" />
</h:commandButton>
<h:outputText id="out" value="#{student.greeting}"/>
</h:form>
</h:body>
</html>
This is the Java code for the bean class
package com.ahmed.jsf.Studen_Registration;
import javax.faces.bean.ManagedBean;
@ManagedBean
public class Student {
private String username, Password;
public Student() {}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return Password;
}
public void setPassword(String username) {
this.Password = username;
}
public String getGreeting() {
if(username.length() == 0) return "";
else return "Welcome to JSF 2.0 + AJAX" + username + "!";
}
}
everything was working before adding the getGreeting function and the stacktrace states that the NullPointerException is coming from the getGreeting function