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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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"/>

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

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