Bonjour tout le monde ,
je veux en fait tester la validation d'un champs text .
Mon action form:
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
| package com.yourcompany.struts.form;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
public class MyForm extends ActionForm {
private String login;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
// Check for mandatory data
ActionErrors errors = new ActionErrors();
if (login == null || login.equals("")) {
errors.add("login", new ActionMessage("error.login"));
}
return errors;
}
} |
MOn action :
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
| package com.yourcompany.struts.action;
import java.io.File;
import java.util.Collections;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.yourcompany.struts.form.MyForm;
public class MyAction extends Action{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
String target = null;
MyForm authForm= (MyForm)form;
String login=authForm.getLogin();
if(login.equals("salma"))
{
return mapping.findForward("successAuth");
}
else
return mapping.findForward("failureAuth");
}
} |
mon fichier config.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="MyForm"
type="com.yourcompany.struts.form.MyForm"/>
</form-beans>
<global-exceptions />
<global-forwards />
<action-mappings >
<action path="/log" name="MyForm" validate="true" input="/index.jsp"
type="com.yourcompany.struts.action.MyAction">
<forward name="successAuth" path="/success.jsp"/>
<forward name="failureAuth" path="/failure.jsp"/>
</action> </action-mappings>
<message-resources parameter="MessageResource" />
</struts-config> |
mon fichier MessageResource:
error.login=login required
Pourtant ça genere une erreur meme que le tout semble etre logique ,voila l'erreur:
1 2 3 4 5 6 7 8 9 10 11
| exception
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean login in any scope
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
cause mère |
j'ai besoin de vos remarques parce que là je sèche
Partager