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

Servlets/JSP Java Discussion :

r�cup�rer valeur d'un champ hidden


Sujet :

Servlets/JSP Java

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par d�faut r�cup�rer valeur d'un champ hidden
    salut. bon voil� dans ma page jsp j'ai un formulaire avec 3 champs hidden,l'utilisateur en cliquant sur un titre de chanson,ce titre est envoy� � une sevlet qui va continuer le traitement (� savoir copier le fichier son et le coller dans un autre r�pertoire)
    le probl�me c'est que ma servlet n'arrive pas � r�cup�rer les valeurs transmises. voil� le code de la page 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
    <script language="JavaScript" type="text/javascript">
    <!--
    function gettitre ( selectedtitre )
    {
      document.myForm.titrechoisi.value = selectedtitre ;
      document.myForm.submit() ;
    }
    -->
    </script>
    <form action="Sontransfert" method="post" enctype="multipart/form-data" name="myForm">
    <input type="hidden" name="titrechoisi" /><a href="javascript:gettitre('goodbye my lover')">goodbye my lover</a>
    <input type="hidden" name="titrechoisi" /><a href="javascript:gettitre('tu trouveras')">tu trouveras</a>
    <input type="hidden" name="titrechoisi" /><a href="javascript:gettitre('white flag')">white flag-Dido</a>
    </form>
     
     
    pour la servlet voilà
    mport java.io.File;
    import java.io.FileOutputStream;
    import java.io.IOException;
     
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    @SuppressWarnings("serial")
    public class Sontransfert extends HttpServlet{
     
     
    	public static boolean copyFile(File source, File dest){
    		 try{
    		  // Declaration et ouverture des flux
    		  java.io.FileInputStream sourceFile = new java.io.FileInputStream(source);
     
    		  try{
    		   java.io.FileOutputStream destinationFile = null;
     
    		   try{
    		    destinationFile = new FileOutputStream(dest);
     
    		    // Lecture par segment de 0.5Mo 
    		    byte buffer[] = new byte[512 * 1024];
    		    int nbLecture;
     
    		    while ((nbLecture = sourceFile.read(buffer)) != -1){
    		     destinationFile.write(buffer, 0, nbLecture);
    		    }
    		   } finally {
    		    destinationFile.close();
    		   }
    		  } finally {
    		   sourceFile.close();
    		  }
    		 } catch (IOException e){
    		  return false; // Erreur
    		 }
     
    		 return true; // Résultat OK  
    		}
     
    	public void doGet(HttpServletRequest request, HttpServletResponse response)
    	throws IOException, ServletException{
    		File destinatFile = null;
    		File sourFile = null;
     
    	String s= (request.getParameter("titrechoisi"));
     
    	if (s =="goodbye my lover"){
    			destinatFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel2/son/- Goodbye My Lover.mp3");
    		   sourFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel1/son/- Goodbye My Lover.mp3");
    		}
    	if (s=="tu trouveras"){
    			destinatFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel2/son/17-natasha_st-pier-tu_trouveras-magsenergy.mp3");
    		    sourFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel1/son/17-natasha_st-pier-tu_trouveras-magsenergy.mp3");
    		}
    	if (s=="white flag"){
    		 destinatFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel2/son/white flag-DIDO.wma");
    		     sourFile = new File("D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/Test/tel1/son/white flag-DIDO.wma");
    		}
     
    		copyFile(sourFile,destinatFile);
    }
    	public void doPost(HttpServletRequest request, HttpServletResponse response)
    	throws IOException, ServletException {
    		doGet(request, response);
    	}
     
    }


    l'erreur vient du fait que les files sont tjs � null (si j'ai bien compris)
    voil� le code d'erreur
    Etat HTTP 500 -

    --------------------------------------------------------------------------------

    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception
    java.lang.NullPointerException
    java.io.FileInputStream.<init>(Unknown Source)
    com.servlet.test.Sontransfert.copyFile(Sontransfert.java:18)
    com.servlet.test.Sontransfert.doGet(Sontransfert.java:66)
    com.servlet.test.Sontransfert.doPost(Sontransfert.java:74)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

  2. #2
    Membre Expert
    Inscrit en
    Ao�t 2009
    Messages
    1 073
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2009
    Messages : 1 073
    Par d�faut
    Bonjour,
    Quelques remarques :

    1. Pourquoi mettre 3 fois le champ hidden dans ton formulaire ? C'est une source d'erreurs.

    2. N'utilises pas le == pour comparer des Strings, mais la fonction equals.

    3. Il vaut mieux d�clarer les constants Strings en tant que constantes plut�t que de les mettre dans le code en direct.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    // Déclaration des constantes en public final static, éventuellement dans une classe à part (on peut aussi les caser dans une Enum)
    public final static String GOODBYE_LOVER = "goodbye my lover";
     
    // utilisation de la méthode equals, en partant de la constante
    if (GOODBYE_LOVER.equals(s)){

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    21
    D�tails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 21
    Par d�faut
    merci pour les remarques!
    sauf que �a ne r�soud pas encore le probl�me! une id�e pour r�gler �a??

Discussions similaires

  1. R�cup�rer la valeur d'un champ hidden
    Par Msysteme dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 05/02/2015, 07h59
  2. r�cup�rer plusieurs valeurs dans un champ hidden
    Par karimphp dans le forum Langage
    R�ponses: 3
    Dernier message: 07/12/2006, 17h13
  3. R�ponses: 6
    Dernier message: 15/09/2006, 20h51
  4. R�ponses: 10
    Dernier message: 11/03/2006, 01h51
  5. R�ponses: 1
    Dernier message: 22/12/2005, 11h29

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