Login Form using Ajax
Here is a Login form in Ajax that may give you an Idea. Still searching for a dropdown example.
Create an action mapping in the struts.xml file. Here is the code to be added in the struts.xml:
Code:
<action name="showAjaxLoginForm">
<result>/pages/ajaxlogin.jsp</result>
</action>
<action name="ajaxLogin" class="net.roseindia.Login">
<result name="input">/pages/ajaxlogin.jsp</result>
<result name="error">/pages/ajaxlogin.jsp</result>
<result>/pages/ajaxloginsuccess.jsp</result>
</action>
Develop a Login Form Using Ajax : The GUI of the application consists of a login form (ajaxlogin.jsp). The "ajaxlogin.jsp" displays the login page to the user. This jsp page uses the <s:div> tag, this tag creates a content area that can load its content using Ajax tags, optionally refreshing. Here we also use the <s:submit> tag that is used to update element (s) or submit a form with the help of Ajax.
Whenever an error occurs then the <s:actionerror> and <s:fielderror> tags execute and display an error message the login form is submitted.
Here is the code of ajaxlogin.jsp file:
Code:
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<s:head theme="ajax" debug="true"/>
</script>
</head>
<body>
<s:div id="loginDiv" theme="ajax">
<div style="width: 300px;border-style: solid">
<s:form action="ajaxLogin" validate="true">
<tr>
<td colspan="2">
Login
</td>
</tr>
<tr>
<td colspan="2">
<s:actionerror />
<s:fielderror />
</td>
</tr>
<s:textfield name="username" label="Login name"/>
<s:password name="password" label="Password"/>
<s:submit theme="ajax" targets="loginDiv" notifyTopics="/ajaxLogin"/>
</s:form>
</div>
</s:div>
</body>
</html>
Develop an action class that handles the login request and checks for the user authentication. If the user name and password is "Admin" then it returns SUCCESS otherwise ERROR object.
Code:
import com.opensymphony.xwork2.ActionSupport;
import java.util.Date;
/**
* <p> Validate a user login. </p>
*/
public class Login extends ActionSupport {
public String execute() throws Exception {
System.out.println("Validating login");
if(!getUsername().equals("Admin") || !getPassword().equals("Admin")){
addActionError("Invalid user name or password! Please try again!");
return ERROR;
}else{
return SUCCESS;
}
}
// ---- Username property ----
/**
* <p>Field to store User username.</p>
* <p/>
*/
private String username = null;
/**
* <p>Provide User username.</p>
*
* @return Returns the User username.
*/
public String getUsername() {
return username;
}
/**
* <p>Store new User username</p>
*
* @param value The username to set.
*/
public void setUsername(String value) {
username = value;
}
// ---- Username property ----
/**
* <p>Field to store User password.</p>
* <p/>
*/
private String password = null;
/**
* <p>Provide User password.</p>
*
* @return Returns the User password.
*/
public String getPassword() {
return password;
}
/**
* <p>Store new User password</p>
*
* @param value The password to set.
*/
public void setPassword(String value) {
password = value;
}
}
I hope this helps you.
Bookmarks