aspose file tools*
The moose likes Struts and the fly likes How to display error message Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Reply locked New topic
Author

How to display error message

parthiban thrangaraju
Greenhorn

Joined: Feb 06, 2011
Posts: 25
Hi,

In struts1 how to check whether the entered email id is already exists in database or not. If it already exists we have to display an error message saying the the email id already exists. Can anyone help.


Thanks
parthiban

Cole Terry
Ranch Hand

Joined: Nov 23, 2011
Posts: 45
You should make a SELECT query into the database to check if the email already exists. Struts doesn't involve anything here.
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

Struts has a tag called errors. Put that on your JSP tag where you want the error displayed.
In your Action, you need to invoke getErrors to get the ActionMessages collection, add ActionMessage instances for each error, then invoke saveErrors on the action to get the errors to your JSP.


[How To Ask Questions On JavaRanch]
parthiban thrangaraju
Greenhorn

Joined: Feb 06, 2011
Posts: 25
In struts1 how to check whether the entered email id is already exists in database or not. If it already exists we have to display an error message saying that the email id already exists. Can anyone help. Here i had attached my code.

jsp code
-----------

<!DOCTYPE html>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%--<%@taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>--%>
<%--<%@taglib uri="/struts-tags" prefix="s" %>--%>
<html lang="en">

<head>
<title><bean:message key="newuser.title1"/></title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/reset.css" type="text/css" media="all">
<link rel="stylesheet" href="css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<!--[if lt IE 7]>
<link rel="stylesheet" href="css/ie/ie6.css" type="text/css" media="screen">
<script type="text/javascript" src="js/ie_png.js"></script>
<script type="text/javascript">
ie_png.fix('.png, .logo img, .nav-box ul li, .list1 li');
</script>
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript" src="js/html5.js"></script>
<![endif]-->
</head>

<body id="page7">
<table id="login-form">
<html:form action="/NewUserForm" styleId="login-form">
<fieldset>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title2"/>
</td>
<td>
<html:text property="firstname"/>
</td>
<td>
<html:errors property="firstname"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title3"/>
</td>
<td>
<html:text property="lastname"/>
</td>
<td>
<html:errors property="lastname"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title4"/>
</td>
<td>
<html:radio property="gender" value="Male">Male</html:radio>
<html:radio property="gender" value="Female">Female</html:radio>
</td>
<td>
<html:errors property="gender"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title5"/>
</td>
<td>
<html:text property="dateofbirth"/>
</td>
<td>
<html:errors property="dateofbirth"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title6"/>
</td>
<td>
<html:text property="emailid"/>
</td>
<td>
<html:errors property="emailid"/>
</td>
</tr>
</div>
<div>
<tr>
<td>
<bean:message key="common.title1"/>
</td>
<td>
<html:text property="username"/>
</td>
<td>
<html:errors property="username"/>
</td>
</tr>
</div>
<div>
<tr>
<td>
<bean:message key="common.title2"/>
</td>
<td>
<html:password property="password"/>
</td>
<td>
<html:errors property="password"/>
</td>
</tr>
</div>
<div>
<tr>
<td>
<bean:message key="newuser.title7"/>
</td>
<td>
<html:password property="confirmpassword"/>
</td>
<td>
<html:errors property="confirmpassword"/>
</td>
</tr>
</div>
<div class="wrapper">
<tr>
<td colspan="3">
<html:submit value="REGISTER" styleId="submit"/>
</td>
</tr>
</div>
</fieldset>
</html:form>
</table>
<!-- footer -->
<footer>
<div class="container">
<a href=""><bean:message key="common.title31"/></a> <bean:message key="common.title32"/> <a href=""><bean:message key="common.title33"/></a>
</div>
</footer>
</body>
</html>

Action Class
---------------

package classes.newuser;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionFormBean;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionRedirect;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.validator.FieldChecks;
import org.apache.struts.validator.ValidatorPlugIn;
import org.apache.struts.validator.validwhen.ValidWhen;


public class NewUserAction extends org.apache.struts.action.Action {


private static final String SUCCESS = "success";


public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

NewUserForm nsf=(NewUserForm)form;

String firstname=nsf.getFirstname();
String lastname=nsf.getLastname();
String gender=nsf.getGender();
String dateofbirth=nsf.getDateofbirth();
String emailid=nsf.getEmailid();
String username=nsf.getUsername();
String password=nsf.getPassword();
String confirmpassword=nsf.getConfirmpassword();

try{

String url="jdbc:mysql://localhost:3306/nemogroups";
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(url, "root" ,"root" );
Statement st=con.createStatement();
String insert="insert into registration(firstname,lastname,gender,dateofbirth,emailid,username,password,confirmpassword) values('"+firstname+"','"+lastname+"','"+gender+"','"+dateofbirth+"','"+emailid+"','"+username+"','"+password+"','"+confirmpassword+"')";
st.executeUpdate(insert);
}
catch (Exception e) {
// TODO: handle exception
System.out.println(e);
}
return mapping.findForward(SUCCESS);
}

}

Action Form
---------------


package classes.newuser;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;


public class NewUserForm extends org.apache.struts.validator.ValidatorForm {


private static final long serialVersionUID = 1L;
private String firstname=null;
private String lastname=null;
private String gender=null;
private String dateofbirth=null;
private String emailid=null;
private String username=null;
private String password=null;
private String confirmpassword=null;
private String action="register";


public String getAction() {
return action;
}

public void setAction(String action) {
this.action = action;
}

public String getConfirmpassword() {
return confirmpassword;
}

public String getDateofbirth() {
return dateofbirth;
}

public String getEmailid() {
return emailid;
}

public String getFirstname() {
return firstname;
}

public String getGender() {
return gender;
}

public String getLastname() {
return lastname;
}

public String getPassword() {
return password;
}

public String getUsername() {
return username;
}

public void setConfirmpassword(String confirmpassword) {
this.confirmpassword = confirmpassword;
}

public void setDateofbirth(String dateofbirth) {
this.dateofbirth = dateofbirth;
}

public void setEmailid(String emailid) {
this.emailid = emailid;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public void setGender(String gender) {
this.gender = gender;
}

public void setLastname(String lastname) {
this.lastname = lastname;
}

public void setPassword(String password) {
this.password = password;
}

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

public void reset(ActionMapping mapping,HttpServletRequest request){

this.firstname=null;
this.lastname=null;
this.gender=null;
this.dateofbirth=null;
this.emailid=null;
this.username=null;
this.password=null;
this.confirmpassword=null;
this.action="register";

}

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){

ActionErrors errors=new ActionErrors();

return errors;
}
}

Validation.xml
-----------------

<form name="NewUserForm">
<field property="firstname" depends="required,mask">
<msg name="mask" key="NewUserForm.firstname.mask"/>
<arg key="NewUserForm.firstname"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
<field property="lastname" depends="required,mask">
<msg name="mask" key="NewUserForm.lastname.mask"/>
<arg key="NewUserForm.lastname"/>
<var>
<var-name>mask</var-name>
<var-value>^[a-zA-Z]*$</var-value>
</var>
</field>
<field property="gender" depends="required">
<msg name="required" key="NewUserForm.gender"/>
</field>
<field property="dateofbirth" depends="required,date">
<msg name="date" key="NewUserForm.dateofbirth.date"/>
<arg key="NewUserForm.dateofbirth"/>

<var>
<var-name>datePattern</var-name>
<var-value>dd-MM-yy</var-value>
</var>
</field>
<field property="emailid" depends="required,email">
<msg name="email" key="NewUserForm.emailid.email"/>
<arg key="NewUserForm.emailid"/>
</field>
<field property="username" depends="required">
<arg key="NewUserForm.username"/>
</field>
<field property="password" depends="required,mask,minlength">
<msg name="mask" key="NewUserForm.password.mask"/>
<arg key="NewUserForm.password"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9a-zA-Z]*$</var-value>
</var>
<arg1 key="${var:minlength}" resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</var>
</field>
<field property="confirmpassword" depends="validwhen">
<!-- <arg key="NewUserForm.confirmpassword"/> -->
<msg name="validwhen" key="NewUserForm.confirmpassword.validwhen"/>
<var>
<var-name>test</var-name>
<var-value>(*this* == password)</var-value>
</var>
</field>

</form>



Thanks
parthiban
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

Posting source code is nice, but we aren't going to fix it for you. Try implementing what Cole and I have recommended and if you have specific questions, we can help you out.
Check our FAQ, How To Ask Questions on JavaRanch. The better question you ask, the more help we can be.
parthiban thrangaraju
Greenhorn

Joined: Feb 06, 2011
Posts: 25
Hi Joe Ess,

Sorry i wrongly posted the code. I forget to change the text. From this code what problem i am facing is, the datas what i have entered is not updated in database, but after pressing register button the page is forwarding to success page. Till day before yesterday the datas are updated in database but today i executed the code its not working. I don't know where the problem. Can you help me.

Thanks in advance
parthiban.t
parthiban thrangaraju
Greenhorn

Joined: Feb 06, 2011
Posts: 25
I have solved it
parthiban thrangaraju
Greenhorn

Joined: Feb 06, 2011
Posts: 25
Hi Joe Ess,

I have validated the email address and the scenario is working but the problem is error message is not displaying "Email Id already exists". I have attached the code. Can youo help me

Jsp page
-----------

<!DOCTYPE html>
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<html lang="en">
<head>
<title><bean:message key="newuser.title1"/></title>
<meta charset="utf-8">
<link rel="stylesheet" href="css/reset.css" type="text/css" media="all">
<link rel="stylesheet" href="css/layout.css" type="text/css" media="all">
<link rel="stylesheet" href="css/style.css" type="text/css" media="all">
<!--[if lt IE 7]>
<link rel="stylesheet" href="css/ie/ie6.css" type="text/css" media="screen">
</head>

<body id="page7">
<table id="login-form">
<html:form action="/NewUserForm" styleId="login-form">
<fieldset>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title2"/>
</td>
<td>
<html:text property="firstname"/>
</td>
<td>
<html:errors property="firstname"/>
</td>
</tr>

</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title3"/>
</td>
<td>
<html:text property="lastname"/>
</td>
<td>
<html:errors property="lastname"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title4"/>
</td>
<td>
<html:radio property="gender" value="Male">Male</html:radio>
<html:radio property="gender" value="Female">Female</html:radio>
</td>
<td>
<html:errors property="gender"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title5"/>
</td>
<td>
<html:text property="dateofbirth"/>
</td>
<td>
<html:errors property="dateofbirth"/>
</td>
</tr>
</div>
<div class="field">
<tr>
<td>
<bean:message key="newuser.title6"/><sup>*</sup>
</td>
<td>
<html:text property="emailid"/>
</td>
<td>
<html:errors property="emailid"/>
</td>
</tr>
</div>
<div>
<tr>
<td>
<bean:message key="common.title1"/>
</td>
<td>
<html:text property="username"/>
</td>
<td>
<html:errors property="username"/>
</td>
</tr>
</div>
<div>
<tr>
<td>
<bean:message key="common.title2"/>
</td>
<td>
<html:password property="password"/>
</td>
<td>
<html:errors property="password"/>
</td>
</tr>

</div>
<div>
<tr>
<td>
<bean:message key="newuser.title7"/>
</td>
<td>
<html:password property="confirmpassword"/>
</td>
<td>
<html:errors property="confirmpassword"/>
</td>
</tr>
</div>
<div class="wrapper">
<tr>
<td colspan="3">
<html:submit value="REGISTER" styleId="submit"/>
</td>
</tr>
</div>
</fieldset>
</html:form>
</table>

</body>
</html>

Action Form
--------------


package classes.newuser;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;



public class NewUserForm extends org.apache.struts.validator.ValidatorForm {

private static final long serialVersionUID = 1L;
private String firstname=null;
private String lastname=null;
private String gender=null;
private String dateofbirth=null;
private String emailid=null;
private String username=null;
private String password=null;
private String confirmpassword=null;

public String getConfirmpassword() {
return confirmpassword;
}

public String getDateofbirth() {
return dateofbirth;
}

public String getEmailid() {
return emailid;
}

public String getFirstname() {
return firstname;
}

public String getGender() {
return gender;
}

public String getLastname() {
return lastname;
}

public String getPassword() {
return password;
}

public String getUsername() {
return username;
}

public void setConfirmpassword(String confirmpassword) {
this.confirmpassword = confirmpassword;
}

public void setDateofbirth(String dateofbirth) {
this.dateofbirth = dateofbirth;
}

public void setEmailid(String emailid) {
this.emailid = emailid;
}

public void setFirstname(String firstname) {
this.firstname = firstname;
}

public void setGender(String gender) {
this.gender = gender;
}

public void setLastname(String lastname) {
this.lastname = lastname;
}

public void setPassword(String password) {
this.password = password;
}

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

public void reset(ActionMapping mapping,HttpServletRequest request){

this.firstname=null;
this.lastname=null;
this.gender=null;
this.dateofbirth=null;
this.emailid=null;
this.username=null;
this.password=null;
this.confirmpassword=null;

}

public ActionErrors validate(ActionMapping mapping,HttpServletRequest request){

ActionErrors errors=new ActionErrors();

NewUserAction act= new NewUserAction();
ActionForm form=null;

//Boolean flag= act.

errors.add("emailid", new ActionMessage("NewUserForm.emailid.alreadyexists"));

return errors;
}
}


Action Class
---------------


package classes.newuser;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionFormBean;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionRedirect;
import org.apache.struts.action.ActionServlet;
import org.apache.struts.validator.FieldChecks;
import org.apache.struts.validator.ValidatorPlugIn;
import org.apache.struts.validator.validwhen.ValidWhen;

public class NewUserAction extends org.apache.struts.action.Action {


private static final String SUCCESS = "success";


public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

NewUserForm nsf=(NewUserForm)form;



String firstname=nsf.getFirstname();
String lastname=nsf.getLastname();
String gender=nsf.getGender();
String dateofbirth=nsf.getDateofbirth();
String emailid=nsf.getEmailid();

String username=nsf.getUsername();
String password=nsf.getPassword();
String confirmpassword=nsf.getConfirmpassword();

try{


String url="jdbc:mysql://localhost:3306/nemogroups";
Class.forName("com.mysql.jdbc.Driver");
Connection con= DriverManager.getConnection(url, "root" ,"root" );
Statement st=con.createStatement();

//String email=request.getParameter("emailid").toString();
System.out.println(emailid);
ResultSet rs=st.executeQuery("select emailid from registration where emailid='"+emailid+"'");
int count=0;
while(rs.next()){

String email=rs.getString("emailid");
System.out.println("email=============="+email);
count++;
}

//String ei=rs.getString(1);
if(count>0){

//return mapping.findForward(errors);


}

else{

String insert="insert into registration(firstname,lastname,gender,dateofbirth,emailid,username,password,confirmpassword) values('"+firstname+"','"+lastname+"','"+gender+"','"+dateofbirth+"','"+emailid+"','"+username+"','"+password+"','"+confirmpassword+"')";
st.executeUpdate(insert);

}

}
catch (Exception e) {
// TODO: handle exception
System.out.println(e);
}
return mapping.findForward(SUCCESS);
}



}


thanks in advance
Joe Ess
Bartender

Joined: Oct 29, 2001
Posts: 8971
    
    9

Please do not post the same question more than once. It causes confusion and duplication of effort as the community tries to help everyone.

UseOneThreadPerQuestion
 
jQuery in Action, 2nd edition
 
subject: How to display error message