Subframework Validation Example using Struts 2.0 the following tool are required for run this example
- JDK 1.5
- MyEclipse IDE
- Server Tomcat 6.0
- Struts 2.0 jar file
Directory Structure of Subframework Validation Example in Struts 2.0 Using MyEclipse IDE
index.jsp
<%@ taglib uri="/struts-tags" prefix="s"%>
<s:form action="register">
<s:textfield name="name" label="Name"/>
<s:password name="password" label="Password"/>
<s:textfield name="age" label="Age"/>
<s:textfield name="mailId" label="MailId"/>
<s:submit value="Register"/>
</s:form>
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>f1</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>f1</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
struts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="demo" extends="struts-default">
<action name="register" class="mypack.MyAction">
<result name="success">/hello.jsp</result>
<result name="input">/index.jsp</result>
</action>
</package>
</struts>
MyAction.java
package mypack;
import com.opensymphony.xwork2.ActionSupport;
public class MyAction extends ActionSupport{
private String name,password,mailId;
private int age;
@Override
public void validate() {
System.out.println("Validate method is invoked");
super.validate();
}
public String execute(){
System.out.println("Validate method is not invoked");
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getMailId() {
return mailId;
}
public void setMailId(String mailId) {
this.mailId = mailId;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
MyAction-validation.xml
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="name" >
<field-validator type="requiredstring">
<message>Name must be required.</message>
</field-validator>
<field-validator type="regex">
<param name="expression">[A-Z,a-z, ]*</param>
<message>Name must in alphabet. and space.</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>Password must be required.</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">5</param>
<param name="maxLength">10</param>
<message>Password must be b/w 5 and 10.</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<param name="min">18</param>
<param name="max">45</param>
<message>Age must be in 18 to 45.</message>
</field-validator>
</field>
<field name="mailId">
<field-validator type="requiredstring">
<message>MailId must be required.</message>
</field-validator>
<field-validator type="email">
<message>MailId isn't in proper format.</message>
</field-validator>
</field>
</validators>
hello.jsp
<%@ taglib uri="/struts-tags" prefix="s"%>
<b>Welcome,<s:property value="name"/>
Output
