Home Answers Viewqa Struts How to validate a form in action class and forward errors to the jsp in struts?

 
 


Upul Udukala
How to validate a form in action class and forward errors to the jsp in struts?
2 Answer(s)      2 years and a month ago
Posted in : Struts

How to validate a form in action class and forward errors to the jsp in struts?

View Answers

April 1, 2011 at 4:11 PM


1)index.jsp:

<html>
<head>
<title>Loading..........</title>
<meta http-equiv="refresh" content="0;URL='formAction'" >
</head>
<body>
Loading.....
</body>
</html>

2)ValidationAction.java:

package net.roseindia.action;

import net.roseindia.model.UserModel;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class ValidationAction extends ActionSupport implements ModelDriven {
    UserModel obUserModel;

    @Override
    public String execute() throws Exception {

        return SUCCESS;

    }

    public void validate() {
        if (obUserModel.getName().length() == 0) {
            addFieldError("name", "Name is required.");
        }
        if (obUserModel.getAge().length() == 0) {
            addFieldError("age", "Age is required.");
        }
        if (obUserModel.getAddress().length() == 0) {
            addFieldError("address", "Address is required.");
        }
    }

    @Override
    public Object getModel() {
        // TODO Auto-generated method stub
        obUserModel = new UserModel();
        return obUserModel;
    }

}

3)UserModel.java:

package net.roseindia.model;

import java.io.Serializable;

public class UserModel implements Serializable {
    private String name;
    private String age;
    private String address;
    private int phone;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getPhone() {
        return phone;
    }

    public void setPhone(int phone) {
        this.phone = phone;
    }
}

April 1, 2011 at 4:14 PM


4)userform.jsp:

<%@taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>User form</title>
<s:head/>
</head>
<body>
<h1>User information form...</h1><hr/>
<s:form action="formvalidation">
    <s:textfield key="name" label="Name" />
    <s:textfield key="age" label="Age" />
    <s:textfield key="address" label="Address" />
    <s:submit />
</s:form>
</body>
</html>

5)struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    <constant name="struts.devMode" value="false" />
    <package name="roseindia" extends="struts-default">
        <action name="formAction" >
            <result name="success">/userform.jsp</result>
        </action>
        <action name="formvalidation" class="net.roseindia.action.ValidationAction">
            <result name="input">/userform.jsp</result>
        </action>
    </package>
</struts>









Related Pages:

Ask Questions?

If you are facing any programming issue, such as compilation errors or not able to find the code you are looking for.

Ask your questions, our development team will try to give answers to your questions.