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 :

un bouton upload sur un formulaire jsp


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut un bouton upload sur un formulaire jsp
    bonsoir,
    je travaille sur un projet en utilisant struts 1.1
    1 - j'avais un jsp (formulaire d'ajout de voiture) avec son action et actionForm qui marchent bien
    2- Une autre jsp où je fais l'upload et le download de ce même fichier (fonctionne bien)

    Maintenant j'ai besoin d'intégrer le bouton d'upload dans ma première jsp d'ajout de voiture , effectivement voilà ce que j'ai fait :
    1- j'ai ajouté le bouton dans ma première jsp et j'ai ajouté l'attribut enctype="multipart/form-data" dans ma html:form
    2- j'ai ajouté l'objet de type FormFile dans l'actionForm correspondant au jsp qui m'intérésse (celui de l'ajout de voitures)
    3- j'ai ajouté ce que j'avais mis dans l'action d'upload dans mon action d'ajout de voiture
    après tt cela j'ai eu une erreur qd je submit la voilà :
    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
     
    type Rapport d'exception
     
    message
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception
     
    javax.servlet.ServletException: BeanUtils.populate
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    cause mère
     
    java.lang.IllegalArgumentException: argument type mismatch
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    	java.lang.reflect.Method.invoke(Method.java:585)
    	org.apache.commons.beanutils.PropertyUtils.setSimpleProperty(PropertyUtils.java:1789)
    	org.apache.commons.beanutils.PropertyUtils.setNestedProperty(PropertyUtils.java:1684)
    	org.apache.commons.beanutils.PropertyUtils.setProperty(PropertyUtils.java:1713)
    	org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:1019)
    	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
    	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
    	org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
    	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
    	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.5.20.
    Au secours,
    Merci d'avance pour votre aide

  2. #2
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Montre nous le code de ta JSP + ActionForm.

    L'erreur dit que lors de la phase où il remplit le Bean, il y a une erreur de type entre l'objet qui lui est passé et l'objet qu'il s'attendait à recevoir. Vérifie bien que tu as mis le bon ActionForm et le bon type "FormFile".

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Montre nous le code de ta JSP + ActionForm.

    L'erreur dit que lors de la phase où il remplit le Bean, il y a une erreur de type entre l'objet qui lui est passé et l'objet qu'il s'attendait à recevoir. Vérifie bien que tu as mis le bon ActionForm et le bon type "FormFile".
    bonjour, merci d'avoir pris la peine de lire mon poste et de m'avoir répondu.

    Voilà mon code jsp

    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
    100
    101
    102
     
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
     
    <%@ 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>
    	<html:base />
     
    	<title>Nouvelle voiture</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">
     
     
     
    	<html:javascript formName="VoitureForm"
    		method="ajoutVoitureValidation" />
    </head>
     
    <body>
     
    	<html:form method="POST" action="/voiture.do?do=add" enctype="multipart/form-data"
    		onsubmit="return ajoutVoitureValidation(this)" >
     
     
    			<div class="titre">
    				Ajout d'une nouvelle voiture 
    			</div>
     
    		<br>
    		<div align="center">
    			<table width="60%" height="65%">
    				<tr>
    					<th>
    						Marque *
    					</th>
    					<td>
    						<html:text property="marque"></html:text>
    					</td>
    <th>
    						Modèle *
    					</th>
    					<td>
    						<html:text property="model"></html:text>
    					</td>
     
    				</tr>
     
    				<tr>
    					<th>
    						photo
    					</th>
    					<td>
     
    						<html:file property="theFile"/>
    					</td>
    				</tr>
     
    				<tr>
    					<th>
    						couleur
    					</th>
    					<td>
    						<html:text property="couleur"></html:text>
    					</td>
    					<th>
                                                 prix
    					</th>
    					<td>
    						<html:text property="prix"></html:text>
    					</td>
    				</tr>
     
    			</table>
     
    		</div>
    		<br>
    		<div align="center">
    			<html:submit value="Valider" property="valider" style="width:100"></html:submit>
    			<html:reset value="Effacer" property="annuler" style="width:100"></html:reset>
    		</div>
    	</html:form>
    </body>
    </html:html>
    Voilà le code de mon actionForm (VoitureForm)

    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
     
    package com.company.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.upload.FormFile;
     
    import com.company.metier.model.Voiture;
     
    public class VoitureForm extends ActionForm {
     
    private FormFile theFile;
    private Voiture voiture;
     
    private String valider;
    private String annuler;
     
    	public FormFile getTheFile() {
    		return theFile;
    	}
     
    	public void setTheFile(FormFile theFile) {
    		this.theFile = theFile;
    	}
     
    public String getMarque() {
    		return voiture.getMarque();
    	}
     
    public void setMarque(String marque) {
    		this.voiture.setMarque(marque);
    	}
     
    public String getModel() {
    		return voiture.getModel();
    	}
     
    public void setModel(String model) {
    		this.voiture.setModel(model);
    	}
     
    public String getPrix() {
    		return voiture.getPrix();
    	}
     
    public void setPrix(String prix) {
    		this.voiture.setPrix(prix);
    	}
     
    public String getAnnuler() {
    		return annuler;
    }
     
    public void setAnnuler(String annuler) {
    		this.annuler = annuler;
    }
     
    public String getValider() {
    		return valider;
    	}
     
    	public void setValider(String valider) {
    		this.valider= valider;
    	}
     
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    		// TODO Auto-generated method stub
     
    		voiture=new Voiture();
    		this.setValider(null);
    		this.setAnnuler("");
    }	
     
    }
    et voilà en dernier la partie de mon action correspondant au clic sur submit

    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
     
     
    package com.company.struts.action;
     
    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.company.struts.form.VoitureForm;
     
    import org.apache.struts.upload.FormFile;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.BufferedInputStream;
    import java.io.OutputStream;
    import java.io.FileInputStream;
    import java.io.InputStream;
     
     
    public class VoitureAction extends DispatchAction {
     
     
    	public ActionForward add(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) throws Exception {
    		VoitureForm voitureForm = (VoitureForm ) form;// TODO//
     
     
    		if(voitureForm.getValider()!=null){
     
     
    	        FormFile myFile = voitureForm.getTheFile();
     
    	        String contentType = myFile.getContentType();
     
    	        String fileName    = myFile.getFileName();
     
    	        int fileSize       = myFile.getFileSize();
     
    	        byte[] fileData    = myFile.getFileData();
     
    	    if (contentType.equals("image/jpeg")
    				|| contentType.equals("image/png") 
    				|| contentType.equals("image/bmp")
    				|| contentType.equals("image/tiff")
    				|| contentType.equals("image/gif"))
     
    		{      
     
    			if(!fileName.equals("")){
     
    			String pathImage =getServlet().getServletContext().getRealPath("/photos");
    			System.out.println("pathImage : "+pathImage);
    			File f=new File(pathImage,fileName);
    			if(!f.exists()){
     			FileOutputStream fos = new FileOutputStream(f) ;
    			fos.write(fileData) ;
    			fos.close() ;  
     
    			}
    			else System.out.println(" photo existante !");
    			}//fin 2ème if
     
    		} //fin 1ère if
     
    		}
     
    		return mapping.findForward("showAjout");
    	}
    }
    J'espère que quelqu'un voit l'erreur parceque je ne suis pas arrivé à le voir,
    Merci d'avance pour l'aide et l'effort

  4. #4
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Ton problème ne vient pas de l'upload. Dans ton formulaire tu fais référence à des propriétés qui n'existent pas dans ton bean "marque", "couleur", ...

    PS: Dans ton reset, tu crées un nouvel objet qui ne te sert à rien.

    EDIT: Je pense plutôt que le type missmatch vient de tes deux propriétés valider et annuler. Elles ne sont pas nécessaires. Si tu as une html:reset, cela va appeler reset() (cela ne passera pas sur ton add()) donc tu n'as pas besoin de stocker ces variables pour faire un test après pour vérifier que l'utilisateur a bien cliquer sur valider. De plus, le type semble être incorrect.

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Ton problème ne vient pas de l'upload. Dans ton formulaire tu fais référence à des propriétés qui n'existent pas dans ton bean "marque", "couleur", ...

    PS: Dans ton reset, tu crées un nouvel objet qui ne te sert à rien.

    EDIT: Je pense plutôt que le type missmatch vient de tes deux propriétés valider et annuler. Elles ne sont pas nécessaires. Si tu as une html:reset, cela va appeler reset() (cela ne passera pas sur ton add()) donc tu n'as pas besoin de stocker ces variables pour faire un test après pour vérifier que l'utilisateur a bien cliquer sur valider. De plus, le type semble être incorrect.
    J'ai enlevé ces propriétés, j'ai meme laissé 2 champs (un champ text et le bouton d'upload) , toujours la même erreur

  6. #6
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Essaie juste avec ça pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html:form method="POST" action="/voiture.do?do=add" enctype="multipart/form-data">
    	<html:file property="theFile"/>
    	<html:submit value="Valider" style="width:100" />
    </html:form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class VoitureForm extends ActionForm {
        private FormFile theFile;
     
        public FormFile getTheFile() {
            return theFile;
        }
     
        public void setTheFile(FormFile theFile) {
            this.theFile = theFile;
        }
    }

  7. #7
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Essaie juste avec ça pour voir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <html:form method="POST" action="/voiture.do?do=add" enctype="multipart/form-data">
    	<html:file property="theFile"/>
    	<html:submit value="Valider" style="width:100" />
    </html:form>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class VoitureForm extends ActionForm {
        private FormFile theFile;
     
        public FormFile getTheFile() {
            return theFile;
        }
     
        public void setTheFile(FormFile theFile) {
            this.theFile = theFile;
        }
    }
    Bonsoir, merci pr la réponse.
    J'ai déjà essayé ça, et ça marche, mais dès que j'ajoute un autre champ et la validation , j'ai l'erreur. :s mais est ce que c possible d'avoir un upload dans un jsp formulaire?
    Merci

  8. #8
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Le problème dans le cas précédent, c'est que tu avais des propriétés dans ton formulaire (marque, prix, ...) mais il n'y avait pas de correspondance dans ton ActionForm. Si des deux côtés c'est correct, il n'y a pas de raison que cela ne fonctionne pas.

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Le problème dans le cas précédent, c'est que tu avais des propriétés dans ton formulaire (marque, prix, ...) mais il n'y avait pas de correspondance dans ton ActionForm. Si des deux côtés c'est correct, il n'y a pas de raison que cela ne fonctionne pas.
    bonsoir, merci tjs pr la réponse
    mais les propriétés avaient une correspondance, sinon la première page n'aurait pas été affichée, ce sont les attributs de l'objet voiture déclaré et initialisé au niveau de mon form.
    C'est quand je submit que l'erreur s'affiche.

    Pour être plus sûr, voilà ce que j'ai fait :

    jsp :
    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
     
    <%@ page language="java" pageEncoding="ISO-8859-1"%>
     
    <%@ 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>
    	<html:base />
     
    	<title>Nouvelle voiture</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>
     
    	<html:form method="POST" action="/voiture.do?do=add" enctype="multipart/form-data">
     
     
    			<div class="titre">
    				Ajout d'une nouvelle voiture 
    			</div>
     
    		<br>
    		<div align="center">
    			<table width="60%" height="65%">
    				<tr>
    					<th>
    						Marque *
    					</th>
    					<td>
    						<html:text property="marque"></html:text>
    					</td>
                                   </tr>
     
    				<tr>
    					<th>
    						photo
    					</th>
    					<td>
     
    						<html:file property="theFile"/>
    					</td>
    				</tr>
     
     
    			</table>
     
    		</div>
    		<br>
    		<div align="center">
    			<html:submit>Valider</html:submit>
     
    		</div>
    	</html:form>
    </body>
    </html:html>
    voilà mon actionForm

    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
     
    package com.company.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.upload.FormFile;
     
    import com.company.metier.model.Voiture;
     
    public class VoitureForm extends ActionForm {
     
    private FormFile theFile;
     
    private String marque;
     
     
    	public FormFile getTheFile() {
    		return theFile;
    	}
     
    	public void setTheFile(FormFile theFile) {
    		this.theFile = theFile;
    	}
     
     
    public String getMarque() {
    		return marque;
    	}
     
    public void setMarque(String marque) {
    		this.marque= marque;
    	}
     
    }
    Et voilà enfin mon 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
     
    package com.company.struts.action;
     
    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.company.struts.form.VoitureForm;
     
    import org.apache.struts.upload.FormFile;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.BufferedInputStream;
    import java.io.OutputStream;
    import java.io.FileInputStream;
    import java.io.InputStream;
     
     
    public class VoitureAction extends DispatchAction {
     
     
    	public ActionForward add(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response) throws Exception {
    		VoitureForm voitureForm = (VoitureForm ) form;// TODO//
     
     
    		if(voitureForm.getValider()!=null){
     
     
    	        FormFile myFile = voitureForm.getTheFile();
     
    	        String contentType = myFile.getContentType();
     
    	        String fileName    = myFile.getFileName();
     
    	        int fileSize       = myFile.getFileSize();
     
    	        byte[] fileData    = myFile.getFileData();
     
    	    if (contentType.equals("image/jpeg")
    				|| contentType.equals("image/png") 
    				|| contentType.equals("image/bmp")
    				|| contentType.equals("image/tiff")
    				|| contentType.equals("image/gif"))
     
    		{      
     
    			if(!fileName.equals("")){
     
    			String pathImage =getServlet().getServletContext().getRealPath("/photos");
    			System.out.println("pathImage : "+pathImage);
    			File f=new File(pathImage,fileName);
    			if(!f.exists()){
     			FileOutputStream fos = new FileOutputStream(f) ;
    			fos.write(fileData) ;
    			fos.close() ;  
     
    			}
    			else System.out.println(" photo existante !");
    			}//fin 2ème if
     
    		} //fin 1ère if
     
    		}
     
    		return mapping.findForward("showAjout");
    	}
    }
    Et toujours le même le problème qd je submit j'ai l'erreur affichée

    Merci d'avance pour l'aide

  10. #10
    Membre averti
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Points : 368
    Points
    368
    Par défaut
    Le seul endroit où il pourrait y avoir une erreur encore est je pense ton fichier de configuration de Struts.

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par darkxan Voir le message
    Le seul endroit où il pourrait y avoir une erreur encore est je pense ton fichier de configuration de Struts.
    j'ai recréér la même chose de nouveau de A à Z et ça passe, et quand je compare le premier projet et le 2ème , aucune différence de A à Z (puisque j'ai fait copier coller )

    darkxan pour tt l'effort que tu as fournit pour m'aider

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

Discussions similaires

  1. [AC-2000] Bouton parcourir sur sous-formulaire
    Par polo31 dans le forum IHM
    Réponses: 2
    Dernier message: 25/06/2009, 08h57
  2. Vérification de bouton radio sur un formulaire
    Par Sakeno dans le forum Langage
    Réponses: 7
    Dernier message: 02/06/2008, 14h58
  3. bouton reset sur un formulaire
    Par zazie2003 dans le forum Struts 1
    Réponses: 1
    Dernier message: 01/08/2006, 16h00
  4. Réponses: 3
    Dernier message: 05/07/2006, 04h27
  5. plusieurs boutons submit sur un formulaire
    Par clement42 dans le forum Struts 1
    Réponses: 1
    Dernier message: 12/05/2006, 10h42

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