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 :

Problème avec struts+JSP


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut Problème avec struts+JSP
    salut tt le monde, j'ai un ptit pb voilà ma page JSP dans lakelle je fais une recherche selon un attribut "id_site_los" ki figure dans ma table site_los_resultat dans ma base de donnée, cette table à pour ID "id_site";
    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
    47
    48
    49
    <%@ page language="java"%>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-bean" prefix="bean" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-logic" prefix="logic" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-tiles" prefix="tiles" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-template" prefix="template" %>
    <%@ taglib uri="http://jakarta.apache.org/struts/tags-nested" prefix="nested" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html:html locale="true">
      <head>
       <link rel="stylesheet" type="text/css" href="css/style.css" />
     
        <html:base />
     
        <title>Voulez Vous:</title>
     
    	<meta http-equiv="pragma" content="no-cache">
    	<meta http-equiv="cache-control" content="no-cache">
    	<meta http-equiv="expires" content="0">    
    	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    	<meta http-equiv="description" content="This is my page">
    	<!--
    	<link rel="stylesheet" type="text/css" href="styles.css">
    	-->
     
      </head>
     
      <body>
      <div id="body_wrapper">
          <div id="body">
            <div id="all">
    					 			<div class="top"></div>
    								<div class="content">
    <html:link action="viewSites.do?do=showSites">Afficher tous les Sites:</html:link>					
    <html:form action="viewSites.do?do=showSitesById" method="GET">
    <table border="0" align="center" width="50%" height="50%">
    	<tr>		
    			<td>Rechercher par Site: <td/>
    			<td><html:text property="id_site_los" size="8" value=""/><html:errors property="id_site_los"/><br/><td/>
    	<tr/>
    <tr>
    <td colspan="1">
    <html:submit>GO</html:submit>
    </td>
    </tr>
    </table>	
    </html:form> 								
      </body>
    </html:html>
    quand j'entre par exemple dans le champs "Rechercher par site" la valeur "CAS0012" que j'ai dans la table, j'ai l'erreur suivante:
    type Rapport d'état

    message Request[/viewSites] does not contain handler parameter named do

    description La requête envoyée par le client était syntaxiquement incorrecte (Request[/viewSites] does not contain handler parameter named do).
    bon l'action définie dans struts-config.xml est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <action 
              attribute="siteLosResultatForm"
              name="siteLosResultatForm"
              parameter="do"
              path="/viewSites"
              input="/form/siteEdit.jsp"
              scope="request"
              type="com.monpfe.struts.action.SitesListAction"
      >
      		  <forward name="showList" path="/form/sitesList.jsp" />
      		  <forward name="showListAfterDelete" path="/viewSites.do?do=showSites" />
      		  <forward name="showListAfterDeleteId" path="/viewSites.do?do=showSitesById" />
      </action>
    et la classe java dans le package ..struts.action est SitesListAction:
    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    package com.monpfe.struts.action;
     
    import java.util.Collection;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.actions.DispatchAction;
     
    import com.monpfe.metier.SiteLosResultat;
    import com.monpfe.struts.form.SiteLosResultatForm;
     
    public class SitesListAction extends DispatchAction {
    	public ActionForward showSites(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		SiteLosResultat site=new SiteLosResultat();
    		Collection c;
    		try {
    			c = (Collection) site.Lister();
    			siteLosResultatForm.setSites(c);
    		}catch (Exception e) {
    			e.printStackTrace();
    		}
    		return mapping.findForward("showList");
    	}
    	public ActionForward deleteSite(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		Long id_site =Long.parseLong(request.getParameter("id_site"));
    		SiteLosResultat site=new SiteLosResultat();
    		site.deleteById(id_site);
    		return mapping.findForward("showListAfterDelete");
    	}
    	public ActionForward showSitesById(
    			ActionMapping mapping,
    			ActionForm form,
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		SiteLosResultatForm siteLosResultatForm=(SiteLosResultatForm) form;
    		String id_site_los =request.getParameter("id_site_los");
    		//Long Id =Long.parseLong(request.getParameter("Id"));
    		SiteLosResultat site=new SiteLosResultat();
    		Collection c;
    		try{
    			c=(Collection) site.findByIdLos(id_site_los);	
    			siteLosResultatForm.setSites(c);
    		}catch(Exception e){
    			e.printStackTrace();
    		}
     
    		return mapping.findForward("showList");
    	}
     
    }
    par ailleurs la classe java où se trouve la méthode findByIdLos(String id_site_los){...}
    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
    ...
    public SiteLosResultatBean findByIdLos(String id_site_los)
    	{
    		Sql sql=new Sql();
    		ArrayList liste=null;
    		String message="select * from site_los_resultat where id_site_los= '" + id_site_los+"'";
    		ResultSet rst=sql.list(message);
    		liste = new ArrayList();
    		SiteLosResultatBean ligne=null;
    		try{
    			while(rst.next()) {
    				ligne=new SiteLosResultatBean();
    				ligne.setId_site(rst.getInt("id_site"));
    				ligne.setId_site_los(rst.getString("id_site_los"));
    				ligne.setCandidat_los(rst.getString("candidat_los"));
    				ligne.setLongitude_los(rst.getString("longitude_los"));
    				ligne.setLatitude_los(rst.getString("latitude_los"));
    				ligne.setAdresse_los(rst.getString("adresse_los"));
    				ligne.setH_los(rst.getInt("h_los"));
    				ligne.setComment_los(rst.getString("comment_los"));
    				ligne.setState_acquisition(rst.getString("state_acquisition"));
    				ligne.setDate_saisie(rst.getString("date_saisie"));
    				liste.add(ligne);
    			}
    		}catch(SQLException e){
    			System.out.println("erreur rst.next : "+e.getMessage());
    		}
    		sql.fermerConnection();
    		return ligne;
    	}...
    merci infiniment de m'aider la dessus!
    je suis bloké devant le pc en attendant vos suggestions!

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2007
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 70
    Par défaut
    <action
    attribute="siteLosResultatForm"
    name="siteLosResultatForm"
    parameter="do"
    path="/viewSites"
    input="/form/siteEdit.jsp"
    scope="request"
    type="com.monpfe.struts.action.SitesListAction"
    >
    <forward name="showList" path="/form/sitesList.jsp" />
    <forward name="showListAfterDelete" path="/viewSites.do?do=showSites" />
    <forward name="showListAfterDeleteId" path="/viewSites.do?do=showSitesById" />
    </action>

    Je te suggère d'enlever la ligne : parameter="do"
    Et tu remplace tes forward : exemple <forward name="showList" path="/form/sitesList.do" />

    et tu fais une action action : <action path="/form/sitesList" parameter="/form/sitesList.jsp"/>

    Tu fais la même chose pour les deux autres forward .
    A+

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    pour celà je dois redéfinir toutes mes classes danc le package ...struts.action
    et je crois k c pénible comme solution, merci en tt cas, si tu peux voir autrement comment résoudre ce pb j'en serai reconnaissant!
    l'ennui c k ça marche dans la page de recherche, pour afficher tous les sites mais quand je veux faire la recherche par id_site_los ça donne cette erreur!

  4. #4
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    est ce k'une action struts peut avoir deux pages JSP comme input?

  5. #5
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Request[/viewSites] does not contain handler parameter named do
    Est-ce que ça fonctionne mieux si tu remplaces ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="viewSites.do?do=showSitesById" method="GET">
    par ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html:form action="viewSites" method="GET">
    <html:hidden property="do" value="showSitesById"/>

  6. #6
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    c cool ça donne au moins la page suivante , ça fonctionne presk, j'ai un prob peut être dans ma requête parce ke le formulaire ki doit normalement me retourner la recherche qu'il a faite ne retourne rien(Pas de site disponible) mais en tt cas merci beaucoup sauf ke je comprend pas pkoi c ainsi!
    si tu peux encore m'aider pour la requête ki passe pas je te serai reconnaissant!

  7. #7
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    j'y serai demain je dois y aller, je poursuivrai chez moi pour voir si ça me donne kk chose!

  8. #8
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Dans la méthode findByIdLos, tu retournes un bean SiteLosResultatBean.
    Il faudrait plutôt retourner l'ArrayList liste.

  9. #9
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 16
    Par défaut
    Salut tt l monde j'ai trouvé le pb! j'avais oublié kk trucs(par exemple au lieu de retourner ArrayList dans la méthode findByIdLos je retournai un Bean) et j'avais oublié de faire le update dans la requête en ajoutant "...where id_site=rand;" avec rand=SiteLosResultatBean.getId_site();
    en tt cas merci tt le monde vous êtes vraiment cool!

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

Discussions similaires

  1. problème avec struts-tiles
    Par osman.amine dans le forum Struts 1
    Réponses: 1
    Dernier message: 17/04/2007, 10h23
  2. problème avec struts-layout
    Par khayri dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/04/2007, 10h36
  3. Problème avec struts
    Par Lolitaaa dans le forum Struts 1
    Réponses: 2
    Dernier message: 12/03/2007, 16h39
  4. [débutant] Problème avec une JSP
    Par the dark derf dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 15/02/2007, 16h29
  5. Problème avec index.jsp
    Par ninie5131 dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 04/07/2006, 16h45

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