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 :

probleme avec la modification


Sujet :

Struts 1 Java

  1. #1
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut probleme avec la modification
    j'ai commencé par ajouter un id dans ma jsp comme suite
    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
     
    <logic:iterate id="toto" name="listdn" scope="session">
    		<tr>
     
     
     
    			<TD align="center"><bean:write name="toto" property="prenom" /></TD>
     
     
    			<TD align="center"><bean:write name="toto" property="nom" /></TD>
     
     
     
    			<TD align="center"><bean:write name="toto" property="adresse" /></TD>
     
     
    			<TD align="center"><bean:write name="toto" property="dateNaissance" /></TD>
     
     
     
    			<TD align="center"><bean:write name="toto" property="telephone" /></TD>
     
    			<TD><html:link page="/modPersonneForm.do"  property='<bean:write name="toto" property="id" />'>Modifie</html:link>
    			</DIV>
    		</tr>
    	</logic:iterate>
     
    </TABLE>
    et le traitement dans mon action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (formulaire.getId() == resultSet.getInt("ID_Personne")) {
    				String requete2 = "UPDATE personne SET nom ='"
    						+ formulaire.getNom() + "' prenom ='"
    						+ formulaire.getPrenom() + "'date_naissance ='"
    						+ formulaire.getDateNaissance() + "'adresse ='"
    						+ formulaire.getAdresse() + "'telephone ='"
    						+ formulaire.getTelephone() +"'";
    				instruction.executeUpdate(requete2);
    			}
    mais quand je veux modifier il m'ajoute un autre enregistrement.

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Si tu veux passer l'id en paramètre de l'Action, il faut coder le html:link comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link action="modPersonneForm" paramId="id" paramName="toto" paramProperty="id">Modifie</html:link>
    et dans l'Action, pour récupérer l'id passé en paramètre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String id=request.getParameter("id");
    Sinon, le code de la jsp que tu as donné affiche le contenu d'une collection.
    Il ne permet pas la modification.
    Je ne vois donc pas avec quelles données tu vas mettre à jour la table étant donné qu'aucun champ n'est saisissable dans la jsp.
    A moins que tu n'aies pas donné tout le code.

  3. #3
    Membre régulier Avatar de mystro7200
    Inscrit en
    Juillet 2008
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2008
    Messages : 245
    Points : 74
    Points
    74
    Par défaut
    voici mon code

    class d'action
    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    	/**
             * execute Methode.
             */
    	public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
     
    		HttpSession session = request.getSession();
     
    		try {
    			logger
    					.info("charger le driver necessaire pour acceder a la base de donnée MySQL");
    			Class.forName(pilote);
     
    			Connection connexion = DriverManager.getConnection(
    					"jdbc:mysql://localhost/personne", "root", "");
     
    			Statement instruction = connexion.createStatement();
     
    			PersonneForm formulaire = (PersonneForm) form;
    			String requete1 = "INSERT INTO personne (`nom`,`prenom`,`date_naissance`,`adresse`,`telephone`) VALUES ('"
    					+ formulaire.getNom()
    					+ "','"
    					+ formulaire.getPrenom()
    					+ "','"
    					+ formulaire.getDateNaissance()
    					+ "','"
    					+ formulaire.getAdresse()
    					+ "','"
    					+ formulaire.getTelephone() + "')";
     
    			instruction.executeUpdate(requete1);
     
    			String requete = "Select * from personne";
    			ResultSet resultSet;
    			resultSet = instruction.executeQuery(requete);
     
    			while (resultSet.next()) {
     
    				personne = new Personne();
     
    				personne.setNom(resultSet.getString("nom"));
    				personne.setPrenom(resultSet.getString("prenom"));
    				personne
    						.setDateNaissance(resultSet.getString("date_naissance"));
    				personne.setAdresse(resultSet.getString("adresse"));
    				personne.setTelephone(resultSet.getString("telephone"));
    				listdn.add(personne);
     
    			}
    			session.setAttribute("listdn", listdn);
    			String id = request.getParameter("id");
    			if (formulaire.getId() == resultSet.getInt("ID_Personne")) {
    				String requete2 = "UPDATE personne SET nom ='"
    						+ formulaire.getNom() + "' prenom ='"
    						+ formulaire.getPrenom() + "'date_naissance ='"
    						+ formulaire.getDateNaissance() + "'adresse ='"
    						+ formulaire.getAdresse() + "'telephone ='"
    						+ formulaire.getTelephone() + "'";
     
    				instruction.executeUpdate(requete2);
    			}
    			instruction.close();
    			connexion.close();
    		} catch (Exception e) {
     
    			if (logger.isDebugEnabled()) {
    				logger.debug("echec pilote : " + e.toString());
    			}
    		}
     
    		return mapping.findForward("success");
    	}
    la saisie

    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
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <html:html>
    <HEAD>
     
     
     
    <LINK rel="stylesheet" href="stylesheets/calendar.css" type="text/css">
    <style>
            body    {background: #ffdd00}
     
     
        </style>
     
    <SCRIPT language="JavaScript" src="javascript/calendar.js"></SCRIPT>
    <TITLE></TITLE>
    </HEAD>
     
     
    <BODY onload="document.getElementById('prenom').focus();verif_button()"
    	onkeypress="document.getElementById('Submit').disabled=false">
     
     
    <P align="center"><FONT size="14">Entrer les informations</FONT></P>
     
     
    <html:form action="/submitexemple.do">
     
    	<div align="center" id="calendar">
     
    	<Table border="1">
     
    		<tr>
    			<th>Prenom :</th>
    			<TD><input type="text" name="prenom"
    				onkeypress="document.getElementById('Submit').disabled=false" />
    			<th><html:errors property="Prenom" /></th>
    			</td>
    		</tr>
     
    		<tr>
    			<TH>Nom :</TH>
    			<TD><html:text property="nom" />
    			<th><html:errors property="Nom" /></th>
    			</TD>
    		</tr>
     
     
    		<tr>
    			<th>Date de naissance:</th>
     
    			<TD><input type="text" name="dateNaissance" maxLength="10" size="10"
    				id="w0" value="" /> 
    				<td><a href="#"> <img src="graphics/calendar.jpg"
    				border="0" onclick="javascript:displayCalendar('w0', event);"
    				id="calendarImg" alt="Modifier la date" title="Modifier la date" />
    			</a></td>
    			<th><html:errors property="Datedenaissance" /></th>
    			</TD>
    		</tr>
     
    		<tr>
    			<TH>Adresse :</TH>
     
    			<TD><html:text property="adresse" />
    			<th><html:errors property="Adresse" /></th>
    			</TD>
    		</tr>
     
     
    		<tr>
    			<TH>Telephone :</TH>
    			<TD><html:text property="telephone" />
    			<th><html:errors property="Telephone" /></th>
    			</TD>
    		</tr>
     
     
     
     
    		<table align="center">
    			<br>
    			<br>
    			<br>
     
    			<td><input type="submit" id="Submit" value="Enregistrer"
    				onclick="verifForm(this.form)"> &nbsp;&nbsp;&nbsp;&nbsp; <html:cancel
    				value="Retour" /></td>
     
     
    		</table>
    	</Table>
    	</div>
    </html:form>
     
    </BODY>
    </html:html>
    Affichage:

    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
    65
    66
    67
    68
    69
    70
    71
    72
     
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <html:html>
    <HEAD>
     
    </HEAD>
     
    <BODY>
    <DIV align="center">
    <H2>
    <P>Les informations</P>
    </H2>
    <TABLE border="1">
    	<tr>
    		<TH>
    		<H4>Prenom</H4>
    		</TH>
    		<TH>
    		<H4>Nom</H4>
    		</TH>
    		<TH>
    		<H4>Date de naissance</H4>
    		</TH>
    		<TH>
    		<H4>Adresse</H4>
    		</TH>
    		<TH>
    		<H4>Telephone</H4>
    		</TH>
    		<TH>
    		<H4>Modification</H4>
    		</TH>
    	</tr>
    	<logic:iterate id="toto" name="listdn" scope="session">
    		<tr>
     
     
     
    			<TD align="center"><bean:write name="toto" property="prenom" /></TD>
     
     
    			<TD align="center"><bean:write name="toto" property="nom" /></TD>
     
     
     
    			<TD align="center"><bean:write name="toto" property="adresse" /></TD>
     
     
    			<TD align="center"><bean:write name="toto" property="dateNaissance" /></TD>
     
     
     
    			<TD align="center"><bean:write name="toto" property="telephone" /></TD>
     
    			<TD><html:link page="/modPersonneForm.do"  paramId="id" paramName="toto" paramProperty="id">Modifie</html:link>
    			</DIV>
    		</tr>
    	</logic:iterate>
     
    </TABLE>
     
    <BR>
    <BR>
    <BR>
     
     
    <html:link page="/showPersonneForm.do">Ajouter</html:link>
    </BODY>
    </html:html>

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Mais tu fais un INSERT et un UPDATE dans la même Action.
    Il est donc normal qu'un enregistrement soit ajouté.

    Sinon, tu récupères l'id en paramètre mais tu continues à tester l'id du formulaire.

Discussions similaires

  1. Probleme avec la modification de graphes
    Par Belegeorn dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/07/2007, 14h28
  2. Réponses: 1
    Dernier message: 09/07/2007, 10h13
  3. Enorme probleme avec modification de type de colonne
    Par tibere dans le forum Administration
    Réponses: 2
    Dernier message: 07/04/2007, 13h57
  4. probleme avec le zoom avec une modification d'image
    Par yoyo59650 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 22/02/2006, 09h22
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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