Newsletter |
Struts2 XML Validations Example, Declarative Validations In Struts
Struts » on Oct 25, 2011 { 8 Comments } By Sivateja
In struts 2 we have 3 types of validations
- Programmatic validations [ manually ]
- Declarative validations [ xml validations ]
- Using Annotations
i already explained how we can do programmatic validations, now will see how to do declarative validations, friends observe am going to use multiple validations rules for the field mail
Example
files required…
- index.jsp
- success.jsp
- error.jsp
- LogingEx.java [ in java4s package ]
- LogingEx-validation.xml [ in java4s package, must be with that .class file]
- web.xml [ in web-inf ]
- struts.xml [ in web-inf/classes folder ]
Directory Structure
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@taglib uri="/struts-tags" prefix="s" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Login Page</title> <s:head /> </head> <body> <s:actionerror /> <s:form action="verify"> <s:textfield name="uname" label="Enter Username" required="true"/><br> <s:textfield name="age" label="Enter Age" required="true"/><br> <s:textfield name="mail" label="Enter Email id" required="true"/><br> <s:submit value="Click" align="center" /> </s:form> </body> </html>
success.jsp
<%@ taglib prefix="s" uri="/struts-tags" %> Hello <s:property value="uname" /><br> Your Age is:<s:property value="age" /><br> Your mail:<s:property value="mail" />
error.jsp
This is error page
LogingEx.java
package java4s; import com.opensymphony.xwork2.ActionSupport; public class LogingEx extends ActionSupport{ private static final long serialVersionUID = 1L; private String uname,mail; private int age; public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public String getMail() { return mail; } public void setMail(String mail) { this.mail = mail; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String execute() { return SUCCESS; } }
LogingEx-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="uname"> <field-validator type="requiredstring"> <message>User Name is required.</message> </field-validator> </field> <field name="age"> <field-validator type="int"> <param name="min">15</param> <param name="max">25</param> <message>Age must be ${min} - ${max}</message> </field-validator> </field> <field name="mail"> <field-validator type="requiredstring"> <message>email required</message> </field-validator> <field-validator type="email"> <message>enter valid email id</message> </field-validator> </field> </validators>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
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> <include file="struts-default.xml"/> <package name="a" extends="struts-default"> <action name="verify" class="java4s.LogingEx"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> <result name="input">/index.jsp</result> </action> </package> </struts>
Output if enter wrong user/pass
Output
You Might Also Like
::. About the Author .:: | ||
Comments
8 Responses to “Struts2 XML Validations Example, Declarative Validations In Struts”
Can we configure single validation.xml in struts 2 for all the action being used in our project?
Is there any possible to apply XML and programmatic validations in same form?……………….
How to properly format the error message.Because the messages are displayed on top of the UI controlls?
How to properly format the error message.Because the messages are displayed on top of the UI?
Not able getting the error messages from from LoginEx-validation.xml
where we need configure
Hi Java4s,
in which situation we will go for declarative validations and in which situation we will go for programatic validaions can u plz clarify?
if we have separate java bean class for form inputs instead having a getter and setter in action class then how we implement the declarative validation?
Good for beginner