Trying to use validate method on Struts 2.3.4 but got below error:
java.lang.NullPointerException
at com.action.LogonAction.validate(LogonAction.java:66) more......
Action class:
public class LogonAction extends ActionSupport{
private Logon logon;
public Logon getLogon() {
return logon;
}
public void setLogon(Logon logon) {
this.logon = logon;
}
public String execute(){
return SUCCESS;
}
public void validate(){
if(logon.getUserName() == null || logon.getUserName().equals("")){
addFieldError("logon.userName", "userName required");
}
}
Logon.class:
public class Logon {
private String password;
private String userName;
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;
}
}
struts.xml:
<struts>
<package name="struts2" namespace="/" extends="struts-default">
<action name="login" class="com.action.LogonAction">
<result name="input">Login.jsp</result>
<result name="success">success.jsp</result>
</action>
</package>
jsp:
<s:form action="login" method="post">
<table>
<tr>
<td>User name:<s:textfield name="userName"/>
<tr>
<td><s:submit type="button" value="submit" label="Submit" /></td>
</tr>
</table>
</s:form>
Is there any way to fix this other than using the new version of Struts2? Because I found one post said that Struts 2.3.4 have validate method bug.