validation avec fichier xml
salut,
je suis entrain de développer une application JEE avec EJB3 et struts2
mais pour le moment je veux faire le contrôle de saisie
ma solution est de faire le contrôle de saisie avec fichier xml
le fichier RequestAction-validation.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <?xml version="1.0" encoding="UTF-8"?>
<!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="request.detailRequest">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
<field name="request.detalOfTecknical">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
<field name="request.startOfOperation">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
<field name="request.durationOfActivity">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
<field name="request.place">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
<field name="request.note">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message key="errors.required" />
</field-validator>
</field>
</validators> |
le fichier ApplicationResources.properties
Code:
1 2 3 4
|
errors.invalid=${getText(fieldName)} is invalid.
errors.required=${getText(fieldName)} is required. |
la page AddRequest.jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="insertRequest" method="post">
<s:label value="detailRequest"/>
<s:textfield name="request.detailRequest" />
<s:label value="detalOfTecknical"/>
<s:textfield name="request.detalOfTecknical" />
<s:label value="startOfOperation"/>
<s:textfield name="request.startOfOperation" />
<s:label value="durationOfActivity"/>
<s:textfield name="request.durationOfActivity" />
<s:label value="place" />
<s:textfield name="request.place" />
<s:label value="note"/>
<s:textfield name="request.note" />
<s:submit value="Submit" />
</s:form>
</body>
</html> |
la class RequestAction.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
public class RequestAction extends ActionSupport implements Serializable{
private static final long serialVersionUID = 1L;
private Request request;
private RequestDaoRemote reqService ;
public String execute() throws Exception {
return "input";
}
public RequestAction() {
try {
Context context=new InitialContext();
reqService = (RequestDaoRemote) context.lookup("erq");
} catch (Exception e) {
e.printStackTrace();
}
}
public String addRequest(){
reqService.add(request);
return "success";
}
public Request getRequeste() {
return request;
}
public void setRequeste(Request request) {
this.request = request;
}
} |
le fichier struts.xml
Code:
1 2 3 4 5
|
<action name="insertRequest" method="addRequest" class="com.action.RequestAction">
<result name="success">/request.jsp</result>
<result name="input">/AddRequest.jsp</result>
</action> |
mais après l'exécution de l'application et en cliquant dans le bouton submit de formulaire de la page AddRequest.jsp
elle pointe dans la même page AddRequest.jsp sans afficher aucun de message de contrôle de saisie dans le cas d'ajouter de demande sans remplir le formulaire
je pense que toujours le type de retour est "input'
puisque quand je change dans le fichier struts.xml
Code:
1 2 3 4
| <action name="insertRequest" method="addRequest" class="com.action.RequestAction">
<result name="input">/request.jsp</result>
<result name="success">/AddRequest.jsp</result>
</action> |
elle ma redirige vers request.jsp dans tous les cas ( en replissant le formulaire ou dans le cas contraire)
merci d'avance