IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

pourquoi je ne passe pas dans mon action


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut pourquoi je ne passe pas dans mon action
    Je ne vois pas purquoi je ne passe pas dans mon action :

    voici mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html:form action="/addrecord">
    		lastname : <html:text property="lastname" /><br/>
    		firstname : <html:text property="firstname" /><br/>
    		phone : <html:text property="phone" /><br/>
    		departement : <html:text property="departement" /><br/>
    		<html:submit />
     
     
    	</html:form>
    mon fichier de struts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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="ISO-8859-1" ?>
    <!DOCTYPE struts-config PUBLIC
              "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
              "http://jakarta.apache.org/struts/dtds/struts-config_1_3.dtd">
     
    <struts-config>
    		<form-beans>
    			<form-bean name="addRecordForm" type="phoneBookForm.AddRecordForm" />
    		</form-beans>
     
    		<global-exceptions>
     
     
     
    		</global-exceptions>
     
    		<action-mappings>
     
    			<action path="/listrecords"  
    				input="/index.jsp" 
    				type="phoneBookAction.ListRecordAction"
    				scope="session">
    			<forward name="page" path="/index.jsp" />
    			<forward name="success" path="/resultlistrecord.jsp" />
    			</action>
     
    			<action path="/addrecordredirection"
    				type="org.apache.struts.actions.ForwardAction"
    				parameter="/addrecord.jsp">
    			</action>
     
    			<action path="/addrecord"
    					name="addRecordForm"
    					input="/addrecord.jsp"
    					type="phoneBookAction.AddRecordAction"
    					scope="session"
    					validate="true">
    			<forward name="page" path="/addrecord.jsp" />
    			<forward name="success" path="/resultlistrecord.jsp" />
     
    			</action>
    		</action-mappings>
     
    </struts-config>
    mon action qui se trouve dans la package phoneBookAction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 phoneBookAction;
    import java.util.HashMap;
     
    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 phoneBookForm.AddRecordForm;
    import phoneBookBo.Employee;
    import phoneBookBo.Personne;
     
     
    public class AddRecordAction extends Action{
     
    	ActionForward executeGet(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response){
    		return mapping.findForward("page");
    	}
     
    	ActionForward executePost(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response){
     
     
    		AddRecordForm addRecordForm = (AddRecordForm) form;
    		String lastname = addRecordForm.getLastname();
    		String firstname = addRecordForm.getFirstname();
    		String phone = addRecordForm.getPhone();
    		String departement = addRecordForm.getDepartement();
     
    		Employee employee = new Employee(new Personne(firstname,lastname ), phone, departement);
    		HashMap<String, Employee> map = new HashMap();
    		if(request.getSession().getAttribute("map")!=null){
    			map = (HashMap<String, Employee>) request.getSession().getAttribute("map");
     
    		}
    		employee.addRecord(map, employee.getPhone());
    		request.getSession().setAttribute("map", map);
    		return mapping.findForward("success");
    	}
     
    }

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut pourquoi je ne passe pas dans mon action
    lorsque je lance mon test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public void addRecordsRecordHF() {
    		setRequestPathInfo("/addrecord");
    		actionPerform();
    		verifyNoActionErrors();
    		verifyForwardPath("/resultlistrecord.jsp");
     
    	}
    J'ai cette erreur au niveau du verifyForwardPath

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    junit.framework.AssertionFailedError: Was expecting '/resultlistrecord.jsp' but it appears the Action has tried to return an ActionForward that is not mapped correctly.
    	at servletunit.struts.MockStrutsTestCase.verifyForwardPath(MockStrutsTestCase.java:603)
    	at test.ListRecordsActionTest.addRecordsRecordHF(ListRecordsActionTest.java:18)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	at java.lang.reflect.Method.invoke(Unknown Source)
    	at junit.framework.TestCase.runTest(TestCase.java:154)
    	at junit.framework.TestCase.runBare(TestCase.java:127)
    	at junit.framework.TestResult$1.protect(TestResult.java:106)
    	at junit.framework.TestResult.runProtected(TestResult.java:124)
    	at junit.framework.TestResult.run(TestResult.java:109)
    	at junit.framework.TestCase.run(TestCase.java:118)
    	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    please help me

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Maroc

    Informations forums :
    Inscription : Avril 2007
    Messages : 55
    Points : 49
    Points
    49
    Par défaut
    peut etre ca vien de la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <action path="/addrecord"
    					name="addRecordForm"
    					input="/addrecord.jsp"
    					type="phoneBookAction.AddRecordAction"
    					scope="session"
    					validate="true">
    			<forward name="page" path="/addrecord.jsp" />
    			<forward name="success" path="/resultlistrecord.jsp" />
    remplace le par path="/listrecords" si il s'agit de la meme page sinon tu peut creer un action du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <action path="/resultList"
    				type="org.apache.struts.actions.ForwardAction"
    				parameter="/resultlistrecord.jsp">
    			</action>
    et tu met path="/resultList" dans le path du foraward

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Que fait ta méthode verifyForwardPath(...) ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut pourquoi je ne passe pas dans mon action
    au fait, je me demande pourquoi mon test ne passe pas dans l'action AddRecordAction lors de l'exececution de la methode perform() dans mon test, pourtant je passe bel bien dans mon form.

    J'ai tout tenté mais je reste bloqué la dessus

    fk04

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    241
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 241
    Points : 89
    Points
    89
    Par défaut Par défaut pourquoi je ne passe pas dans mon action
    Je sais maintenant :

    C'est parce que je n'avais defini les methodes executePost et executeGET

    public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
    ActionForward foward = null;
    if("GET".equals(request.getMethod())){
    foward = this.executeGet(mapping, form, request, response);
    }else{
    foward = this.executePost(mapping, form, request, response);
    }
    return foward;
    }

    MERCI A BELET

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2014, 22h02
  2. Réponses: 1
    Dernier message: 08/07/2013, 23h45
  3. Réponses: 8
    Dernier message: 26/10/2005, 03h52
  4. Mon contrôle ne se "colle" pas dans mon groupe d'o
    Par saucisson dans le forum Access
    Réponses: 4
    Dernier message: 16/09/2005, 18h08
  5. Réponses: 2
    Dernier message: 06/06/2005, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo