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 :

probleme avec le getProperty


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut probleme avec le getProperty
    Salut, j'ai cree la page jsp suivante:

    Code xml : 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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
      <jsp:useBean id="mybean" scope="page"  class="pak.Prog" />
    <jsp:setProperty name="mybean" property="*" />  
     
     <HTML>
    <HEAD>
    <TITLE>service simulator</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Style1 {font-family: Arial, Helvetica, sans-serif}
    -->
    </style>
    </HEAD>
    <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
    <FORM METHOD=POST ACTION="pagejsp.jsp">
    <table width="490" height="549" border="0" align="center" background="../images/interface2.gif" >
      <tr>
        <td width="484" height="543">
            <div align="center">
          <p><textarea name="textarea" cols="40" rows="10"></textarea></p>
     
     
              <p>&nbsp;          </p>
            </div>
          <table width="432" border="0">
            <tr>
              <td width="302"><div align="center">
                <input type="submit" name="Submit" value="SEND">
              </div></td>
              <td width="120"><input type="submit" name="Submit2" value="ERASE"></td>
            </tr>
          </table>
     
        </td>
      </tr>
    </table>
    <!-- ImageReady Slices (Untitled-1.html) -->
    </FORM>
    </BODY>
    </HTML>

    et aussi la classe suivante utilisée comme bean:

    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
    package pak;
     
    import java.io.*;
    import java.util.Iterator;
    import java.util.StringTokenizer;
    import java.util.List;
    import org.jdom.*;
    import org.jdom.input.*;
     
     
     
    public class Prog {
        String text,kw,msg;
        static org.jdom.Document doc;
        static Element services;
        String message;
     
    public Prog(){}
    public void setTextarea (String chaine)
    { text=chaine;
    System.out.println(text);
     
    }
    public String getTextarea()
    {
        StringTokenizer tok = new StringTokenizer(text, " ");
        int nv = tok.countTokens();
     
        msg = "";
     
     
        //key word//
        kw = tok.nextToken().toString();
        // /**reste du message//
        for (int i = 1; i < nv; i++) {
            msg += (tok.nextToken().toString() + " ");
        }
         // **fin reste du message**//
     
        // ***lecture du fichier xml
     
        SAXBuilder sxb = new SAXBuilder();
        try {
            doc = sxb
                    .build(new File(
                            "C:/Aymen/eclipseworkspace/projet web/src/pak/services.xml"));
        } catch (Exception e) {
        }
        services = doc.getRootElement();
        List service = services.getChildren("service");
        Iterator k = service.iterator();
     
        while (k.hasNext()) {
            Element courant = (Element) k.next();
     
            if (courant.getChild("nom").getText().equals(kw)) {
            message=(courant.getChild("text").getText());
     
     
            }
        }
        System.out.println(message);
        return(message);
    }
    }

    Mais j'ai rencontré un probleme en utilisant getProperty et donc la methode getTextarea; j'ai pas pu afficher le resultat de retour dans le textarea; svp est ce que vous pouvez me dire comment dois je proceder?et une autre question: est ce que je peux utiliser getProperty et setProperty pour le meme doc jsp??
    merci d'avance pour votre aide

  2. #2
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Salut

    Dans ton code tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <textarea name="textarea" cols="40" rows="10"></textarea>
    Dans cette partie, tu indique seulement que tu as un TextArea et tu lui donnes son nom.
    Entre la balise <TEXTAREA> et </TEXTAREA>, tu dois insérer le texte.

    du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <textarea name="textarea" cols="40" rows="10">
    <%= myBean.getTextArea() %>
    </textarea>
    C'est crade, mais ca devrait fonctionner. Si tu peux, créé une taglib personnalisée. Perso, je trouve ca plus beau et lisible

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    ben en ajoutant cette ligne je reçois le message d'erreur suivant:
    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
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: Exception in JSP: /pagejsp.jsp:23
     
    20:     <td width="484" height="543">
    21:         <div align="center">
    22:       <p><textarea name="textarea" cols="40" rows="10">
    23:       <%= mybean.getTextarea() %></textarea></p>
    24:         
    25:           
    26:           <p>&nbsp;          </p>
     
     
    Stacktrace:
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	java.util.StringTokenizer.<init>(Unknown Source)
    	java.util.StringTokenizer.<init>(Unknown Source)
    	pak.Prog.getTextarea(Prog.java:26)
    	org.apache.jsp.pagejsp_jsp._jspService(pagejsp_jsp.java:74)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	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

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    voici le code xml que j'utilise si ça te dit d'essayer le code et n'oublie pas de changer le chemin du fichier xml dans le saxbuilder :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <services>
         <service>
                  <nom>service1</nom>
                  <text>salut</text>
     
         </service>
         <service>
                  <nom>service2</nom>
                  <text>bonjour</text>
     
          </service>
     
     
          <service>
                  <nom>service3</nom>
                  <text>hi</text>
     
          </service>
     
           <service>
                  <nom>service4</nom>
                  <text>hello</text>
     
          </service>
     
    </services>

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    pour etre sur que j'ai pas de probleme avec ma classe Prog que j'utilise pour generer le bean j'ai ajouté une petite methode main pour tester le programme et donc il fonctionne normalment, voici le code de test que j'utilise:
    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 pak;
     
    import java.io.*;
    import java.util.Iterator;
    import java.util.StringTokenizer;
    import java.util.List;
    import org.jdom.*;
    import org.jdom.input.*;
     
     
     
    public class Prog {
    	String text,kw,msg;
    	static org.jdom.Document doc;
    	static Element services;
    	String message;
     
    public Prog(){}
    public void setTextarea (String chaine)
    { text=chaine;
    System.out.println(text);
     
    }
    public String getTextarea()
    {  
    	StringTokenizer tok = new StringTokenizer(text, " ");
    	int nv = tok.countTokens();
     
    	msg = "";
     
     
    	//key word//
    	kw = tok.nextToken().toString();
    	// /**reste du message//
    	for (int i = 1; i < nv; i++) {
    		msg += (tok.nextToken().toString() + " ");
    	}
         // **fin reste du message**//
     
    	// ***lecture du fichier xml
     
    	SAXBuilder sxb = new SAXBuilder();
    	try {
    		doc = sxb
    				.build(new File(
    						"C:/Aymen/eclipseworkspace/projet web/src/pak/services.xml"));
    	} catch (Exception e) {
    	}
    	services = doc.getRootElement();
    	List service = services.getChildren("service");
    	Iterator k = service.iterator();
     
    	while (k.hasNext()) {
    		Element courant = (Element) k.next();
     
    		if (courant.getChild("nom").getText().equals(kw)) {
    		message=(courant.getChild("text").getText());
     
     
    		}
    	}
    	System.out.println(message);
        return(message);
    }
    public static void main (String args[]){
    	  Prog	pr=new Prog();
    	 pr.setTextarea("service2 aaaaaaa");
    	pr.getTextarea();
     
    	}
    }
    donc le probleme ne vient pas du code de la bean mais de la page jsp???

  6. #6
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Salut.

    Dans ta JSP tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:setProperty name="mybean" property="*" />
    Tu ne set aucun attribut dans ton bean.
    Essai de faire un set de ta valeur textArea.
    génère les getters et setters pour ton attribut text
    puis remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:setProperty name="mybean" property="text" value="taValeur"/>

  7. #7
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    j'ai gardé dans ma jsp:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <jsp:useBean id="mybean" scope="page"  class="pak.Prog" />
     <jsp:setProperty name="mybean" property="*"/%>
    car la methode setTextarea fonctionne correctement avec ce code et elle m'affiche le contenu du textarea lorsque j'appuie sur le button submit de valeur send.mais j'ai essayé de changer le code comme suit pour recuperer le resultat du traitement et l'afficher dans le textarea:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <p><textarea name="textarea" cols="40" rows="10">
          <jsp:getProperty name="mybean" property="textarea" value="<%=mybean.getTextarea()%>" /></textarea>
    mais ceci ne marche pas comme meme; lorsque j'ecris par exemple service1 et j'appuie sur le boutton send, je reçois:
    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
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    org.apache.jasper.JasperException: /pagejsp.jsp(23,6) GetProperty: Attribut incorrect: value
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    org.apache.jasper.JasperException: /pagejsp.jsp(23,6) GetProperty: Attribut incorrect: value
    	org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
    	org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
    	org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:196)
    	org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:304)
    	org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:473)
    	org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:1062)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
    	org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
    	org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
    	org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
    	org.apache.jasper.compiler.Validator.validate(Validator.java:1489)
    	org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:166)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

  8. #8
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Vires simplement le value= dans un <jsp:getProperty, il n'y en a pas ... ce tag est interdit

  9. #9
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    j'ai pas bien compris ce que je dois faire mais j'ai essayé autre chose et ceci ne marche pas non plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <jsp:setProperty name="mybean" property="textarea" value="<%=mybean.getTextarea(request.getParameter("textarea")%>" />
    sachant que j'ai modifié prog ainsi:
    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
     
    package pak;
     
    import java.io.*;
    import java.util.Iterator;
    import java.util.StringTokenizer;
    import java.util.List;
    import org.jdom.*;
    import org.jdom.input.*;
     
     
     
    public class Prog {
    	String text,kw,msg;
    	static org.jdom.Document doc;
    	static Element services;
    	String message;
     
    public Prog(){}
    //public void setTextarea (String chaine)
    //{ text=chaine;
    //System.out.println(text);
     
    //}
    public String getTextarea(String chaine)
    {  text=chaine;
    	StringTokenizer tok = new StringTokenizer(text, " ");
    	int nv = tok.countTokens();
     
    	msg = "";
     
     
    	//key word//
    	kw = tok.nextToken().toString();
    	// /**reste du message//
    	for (int i = 1; i < nv; i++) {
    		msg += (tok.nextToken().toString() + " ");
    	}
         // **fin reste du message**//
     
    	// ***lecture du fichier xml
     
    	SAXBuilder sxb = new SAXBuilder();
    	try {
    		doc = sxb
    				.build(new File(
    						"C:/Aymen/eclipseworkspace/projet web/src/pak/services.xml"));
    	} catch (Exception e) {
    	}
    	services = doc.getRootElement();
    	List service = services.getChildren("service");
    	Iterator k = service.iterator();
     
    	while (k.hasNext()) {
    		Element courant = (Element) k.next();
     
    		if (courant.getChild("nom").getText().equals(kw)) {
    		message=(courant.getChild("text").getText());
     
     
    		}
    	}
    	System.out.println(message);
        return(message);
    }
     
    }

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Salut,

    Citation Envoyé par thesorrow
    j'ai pas bien compris ce que je dois faire
    Tu remplaces :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:getProperty name="mybean" property="textarea" value="<%=mybean.getTextarea()%>" /
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <jsp:getProperty name="mybean" property="textarea" />
    C'est tout.

  11. #11
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    ben meme en effectuant ce changement,ça ne fonctionne pas...

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Oui mais tu n'auras plus l'exception :
    org.apache.jasper.JasperException: /pagejsp.jsp(23,6) GetProperty: Attribut incorrect: value

    Bon...

    Supprime tes dernières modifs, ta méthode getTextArea() est un accesseur et ne doit pas avoir de paramètres en entrée.

    Mets un e.printStackTrace(); dans ton bloc catch (histoire de savoir ce qui se passe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    try {
       doc = sxb.build(new File("C:/Aymen/eclipseworkspace/projet/web/src/pak/services.xml"));
    } catch (Exception e) {
    // ICI
    }
    Relance le schmilblick et n'oublie de donner la trace d'erreur.

    Bon courage.

  13. #13
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    voici les modifications que j'ai apporté à mon programme
    en 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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
      <jsp:useBean id="mybean" scope="page"  class="pak.Prog" />
     <jsp:setProperty name="mybean" property="textarea" value="<%=mybean.getTextarea("service1")%>" />
     <HTML>
    <HEAD>
    <TITLE>service simulator</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Style1 {font-family: Arial, Helvetica, sans-serif}
    -->
    </style>
    </HEAD>
    <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
    <FORM METHOD=POST ACTION="pagejsp.jsp">
    <table width="490" height="549" border="0" align="center" background="../images/interface2.gif" >
      <tr>
        <td width="484" height="543">
            <div align="center">
          <p><textarea name="textarea" cols="40" rows="10">
     
     
         </textarea></p>
     
     
              <p>&nbsp;          </p>
            </div>
          <table width="432" border="0">
            <tr>
              <td width="302"><div align="center">
                <input type="submit" name="Submit" value="SEND">
              </div></td>
              <td width="120"><input type="submit" name="Submit2" value="ERASE"></td>
            </tr>
          </table>
     
        </td>
      </tr>
    </table>
    <!-- ImageReady Slices (Untitled-1.html) -->
    </FORM>
    </BODY>
    </HTML>
    voici ma classe Prog:
    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
     
    package pak;
     
    import java.io.*;
    import java.util.Iterator;
    import java.util.StringTokenizer;
    import java.util.List;
    import org.jdom.*;
    import org.jdom.input.*;
     
     
     
    public class Prog {
    	String text,kw,msg;
    	static org.jdom.Document doc;
    	static Element services;
    	String message;
     
    public Prog(){}
    //public void setTextarea (String chaine)
    //{ text=chaine;
    //System.out.println(text);
     
    //}
     
     
    	public String getTextarea(String chaine)
    	{ 
    		 text= chaine;
    		StringTokenizer tok = new StringTokenizer(text, " ");
    		int nv = tok.countTokens();
     
    		msg = "";
     
     
    		//key word//
    		kw = tok.nextToken().toString();
    		// /**reste du message//
    		for (int i = 1; i < nv; i++) {
    			msg += (tok.nextToken().toString() + " ");
    		}
    	     // **fin reste du message**//
     
    		// ***lecture du fichier xml
     
    		SAXBuilder sxb = new SAXBuilder();
    		try {
    			doc = sxb
    					.build(new File(
    							"C:/Aymen/tomcat/Tomcat 5.5/webapps/projet web/WEB-INF/classes/ser.xml"));
    		} catch (Exception e) {
     
    			e.printStackTrace();
    		}
     
     
    		services = doc.getRootElement();
    		List service = services.getChildren("service");
    		Iterator k = service.iterator();
     
    		while (k.hasNext()) {
    			Element courant = (Element) k.next();
     
    			if (courant.getChild("nom").getText().equals(kw)) {
    			message=(courant.getChild("text").getText());
     
     
    			}
    		}
    		System.out.println(message);
        return(message);
    }
    //public static void main (String args[]){
    	//Prog	pr=new Prog();
    	//pr.setTextarea("service2 aaaaaaa");
    	//pr.getTextarea();
     
    	//e.printStackTrace();}
     
     
    }
    et voici l'erreur que je reçoie dans la console:
    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
     
    21 mars 2007 15:37:37 org.apache.catalina.core.StandardWrapperValve invoke
    GRAVE: "Servlet.service()" pour la servlet jsp a généré une exception
    java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
    	at pak.Prog.getTextarea(Prog.java:45)
    	at org.apache.jsp.pagejsp_jsp._jspService(pagejsp_jsp.java:57)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    	at java.lang.Thread.run(Unknown Source)
    et voici l'erreur dans la page web:
    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
     
    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 
     
    org.apache.jasper.JasperException: org/jdom/input/SAXBuilder
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    javax.servlet.ServletException: org/jdom/input/SAXBuilder
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:843)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:776)
    	org.apache.jsp.pagejsp_jsp._jspService(pagejsp_jsp.java:104)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
     
    cause mère 
     
    java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
    	pak.Prog.getTextarea(Prog.java:45)
    	org.apache.jsp.pagejsp_jsp._jspService(pagejsp_jsp.java:57)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    	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.

  14. #14
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    je ne sais pas si vous avez remarqué mais la premiere erreur est relatif à SAXbuilder dans le la classe Prog, je ne sais pas pourquoi il y'a cette erreur car si je compile la classe prog en lui ajoutant une methode main elle fonctionne normalment, en plus au niveau de la page web,l'erreur affichée est 500 donc c'est une erreur relative au serveur...

  15. #15
    Membre chevronné Avatar de florentB
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Est-ce que tu as le jdom.jar dans tes libs ? Apparemment, il la manque ...

  16. #16
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    oui je l'ai...et aussi quand je compile ma classe Progen lui ajoutant un main elle fonctionne correctement...

  17. #17
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    230
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 230
    Par défaut
    Citation Envoyé par thesorrow
    oui je l'ai...et aussi qu'on je compile ma classe Progen lui ajoutant un main elle fonctionne correctement...
    Je ne vois pas comment cette ligne pourrait fonctionner :

    sachant qu'il y a une méthode getTextarea(String chaine) mais pas de méthode getTextarea() dans ta classe Prog.

    Il est tout à fait possible que cet appel n'ai jamais fonctionné mais que l'absence de e.printStackTrace() t'ai empêché de le déceler.

    Quand tu compiles cela fonctionne, ça plante par contre à l'exécution, ça ressemble à un problème de configuration de serveur, ce dernier "connaît-il" jdom.jar ?

  18. #18
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    ben je n'utilise pas getTextarea() quand je compile j'utilise getTextarea("chaine"), je crois que c claire que la classe main est fait pour le test donc selon les autres methodes je laisse ou je supprime les arguments de la methode getTextarea(en plus getTextarea je l'utilisais quand j'avais implimenté la classe setTextarea qui elle aussi est mise comme commentaire apres des //)
    donc pour votre information quand j'excute ma classe Prog elle fonctionne normalment surtout avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public static void main (String args[]){
    	Prog	pr=new Prog();
    	pr.setTextarea("service2 aaaaaaa");
    	//pr.getTextarea();
     
    	//e.printStackTrace();
    }

  19. #19
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    et pour ce qui est de la connaissance de jdom par le serveur...ceci je ne le sais pas???..je sais seulement que j'ai ajouté jdom au bibliotheque de mon projet web sous eclipse mais je ne sais pas si ceci suffit??sinon comment pourrais je ajouter la bibliotheque jdom à tomcat???
    merci pour l'aide

  20. #20
    Membre confirmé
    Inscrit en
    Octobre 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 72
    Par défaut
    je viens de resoudre un probleme...j'ai activé la methode getTexarea(" request.getParameter("textarea")) mais il me reste à recuperer le resultat dans le textarea et en plus il me reste quelques erreur à resoudre:
    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
     
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
      <jsp:useBean id="mybean" scope="page"  class="pak.Prog" />
     
     <HTML>
    <HEAD>
    <TITLE>service simulator</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    <style type="text/css">
    <!--
    .Style1 {font-family: Arial, Helvetica, sans-serif}
    -->
    </style>
    </HEAD>
    <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
    <FORM METHOD=POST ACTION="pagejsp.jsp">
    <table width="490" height="549" border="0" align="center" background="../images/interface2.gif" >
      <tr>
        <td width="484" height="543">
            <div align="center">
          <p><textarea name="textarea" cols="40" rows="10">
         <jsp:setProperty name="mybean" property="textarea" value="<%=mybean.getTextarea(request.getParameter("textarea"))%>" />
     
         </textarea></p>
     
     
              <p>&nbsp;          </p>
            </div>
          <table width="432" border="0">
            <tr>
              <td width="302"><div align="center">
                <input type="submit" name="Submit" value="SEND">
              </div></td>
              <td width="120"><input type="submit" name="Submit2" value="ERASE"></td>
            </tr>
          </table>
     
        </td>
      </tr>
    </table>
    <!-- ImageReady Slices (Untitled-1.html) -->
    </FORM>
    </BODY>
    </HTML>

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Probleme avec la copie des surfaces
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/01/2003, 10h33
  2. Problèmes avec le filtrage des ip
    Par berry dans le forum Réseau
    Réponses: 9
    Dernier message: 30/12/2002, 07h51
  3. probleme avec la touche F10
    Par b.grellee dans le forum Langage
    Réponses: 2
    Dernier message: 15/09/2002, 22h04
  4. Probleme avec fseek
    Par Bjorn dans le forum C
    Réponses: 5
    Dernier message: 04/08/2002, 07h17
  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