Let me explain with examples.
Action class
-----------------------
public class EmpAction extends ActionSupport implements ModelDriven<Object>,Preparable,ServletRequestAware,ServletResponseAware,SessionAware{
private HttpServletRequest request;
private HttpServletResponse response;
private Map<
String,String[]> parameters;
private Map<String, Object> session;
private EmpModel empModel;
public void setServletRequest(HttpServletRequest request){
this.request =request;
}
public void setServletResponse(HttpServletResponse response){
this.response =response;
}
public void setParameters(Map<String,String[]> parameters){
this.parameters=parameters;
}
public void setSession(Map<String, Object> map) {
this.session=map;
}
public Model getModel(){
return empModel;
}
public void prepare() throws Exception{
empModel =new EmpModel();
}
public String showEmpPage(){
EmpDAO dao =new EmpDAO();
Map<String,String> desgMap=new HashMap<String,String>();
desgMap=dao.getDesignations();
empModel.seDesgMap(desgMap);
return SUCCESS;
}
}
Model class
--------------------------
public class EmpModel {
private Map<String,String> empMap;
public Map<String, String> getEmpMap() {
return empMap;
}
public void setEmpMap(Map<String, String> empMap) {
this.empMap =empMap;
}
DAO class
----------------
public class EmpDAO{
public Map getDesignations(){
Map<String,String> desgMap=new HashMap<String,String>();
desgMap.put("Dev","Developer");
desgMap.put("Mgr","Manager");
desgMap.put("Tl","TechLead");
return desgMap;
}
}
jsp ( first.jsp)
------------------
<s:form action="showEmpPage" method="POST" theme="simple" validate="true">
</s:form>
jsp(emp.jsp)
----------------------
<s:textfield id="emailAddress" name="emailAddress"" />
<s:select list="empMap" id="empDeg" name="empDesg" />
struts.xml
---------------------
<action name="showEmpPage" class="com.test.action. EmpAction" method="showEmpPage">
<result name="input">/WEB-INF/view/firstpafe.jsp</result>
<result name="success">/WEB-INF/view/emp.jsp</result>
</action>
<action name="createEmp" class="com.test.action.SecondAction" method="createEmp">
<result name="success">/WEB-INF/view/success.jsp</result>
<result name="input">/WEB-INF/view/emp.jsp</result>
</action>
Second Action
------------------------
public class SecondAction extends ActionSupport implements ModelDriven<Object>,Preparable,ServletRequestAware,ServletResponseAware,SessionAware{
private HttpServletRequest request;
private HttpServletResponse response;
private Map<String,String[]> parameters;
private Map<String, Object> session;
private SecondModel secondModel;
public void setServletRequest(HttpServletRequest request){
this.request =request;
}
public void setServletResponse(HttpServletResponse response){
this.response =response;
}
public void setParameters(Map<String,String[]> parameters){
this.parameters=parameters;
}
public void setSession(Map<String, Object> map) {
this.session=map;
}
public Model getModel(){
return secondModel;
}
public void prepare() throws Exception{
secondModel =new SecondModel();
}
public String creatEmp(){
return SUCCESS;
}
}
validation file (SecondAction-validation.xml)
--------------------------------------------------
<validators>
<field name="emailAddress">
<field-validator type="email">
<message>Please enter a valid email</message>
</field-validator>
</field>
</validators>
When I am entering wrong email id , the validation in second jsp will failed , and I am getting error .