Jsp fields are null at startup

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Jsp fields are null at startup

albert kao-2
My jsp fields username and password are null at startup (jsp page is
loaded).
Why?
That make the "Invalid Username/Password. Please try again." message appear
when the page is loaded.
How to fix that?


Login.jsp
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Struts 2 - Login Application | ViralPatel.net</title>
</head>

<body>
<h2>Struts 2 - Login Application</h2>
<s:actionerror />
<s:form action="login.action" method="post">
<s:textfield name="username" key="label.username" size="20" />
<s:password name="password" key="label.password" size="20" />
<s:submit method="execute" key="label.login" align="center" />
</s:form>
</body>
</html>



LoginAction.java
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
private String username;
private String password;

public String authenticate() {
return execute();
}

public String execute() {
  if ((username != null) &&
(password != null) &&
this.username.equals("admin")
&& this.password.equals("admin123")) {
return "success";
} else {
addActionError(getText("error.login"));
return "error";
}
}

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
Reply | Threaded
Open this post in threaded view
|

Re: Jsp fields are null at startup

Lukasz Lenart
2018-03-02 13:31 GMT+01:00 albert kao <[hidden email]>:
> My jsp fields username and password are null at startup (jsp page is
> loaded).
> Why?
> That make the "Invalid Username/Password. Please try again." message appear
> when the page is loaded.
> How to fix that?

Use two methods:
- execute() to display a form
- authenticate() to perform validation and login action

You must understand that flow in Struts is as follow:

request -> action -> jsp

so even opening a page, the execute() method is called


Regards
--
Ɓukasz
+ 48 606 323 122 http://www.lenart.org.pl/

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]