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 :

Appel d'une classe dans une jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 188
    Points
    188
    Par défaut Appel d'une classe dans une jsp
    Bonjour,

    débutant complètement dans le développement web en Java, je suis face à un problème pour lequel je n'ai pas réussi à trouver de solution sur le net.

    Pour poser le problème, j'ai :
    • Une classe TestA qui a une méthode test() qui renvoie un String
    • une jsp qui tente d'afficher le String de le méthode précédente


    Plus précisement, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% String test = new String(); test += TestA.test(); %><%= test %>
    Souci : l'appel de cette Jsp provoque l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    org.apache.jasper.JasperException: PWC6033 : compilation de la classe pour JSP impossible
     
    PWC6199 : erreur de servlet générée :
    string:///TestB_jsp.java:6: '.' expected
     
    PWC6199 : erreur de servlet générée :
    string:///TestB_jsp.java:6: ';' expected
    J'ai l'impression que cette erreur doit être dûe à la manière dont les fichiers sont agencés. Plus précisément, j'ai laissé faire NetBean, et mes jsp et mes classes ne sont pas au même endroit. Cependant, je ne vois pas comment faire pour "faire le lien".

    Bref savez vous comment je pourrai m'y prendre ?

    Merci d'avance pour vos réponses !

    Note : en gros, mon arborescence ressemble à ceci (en espérant que cette schématisation soit claire...) :
    ->WEB
    -->Test.jsp
    ->src
    -->java
    --->TestA.java

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 807
    Points
    48 807
    Par défaut
    on peut voir ta classe TestA?

  3. #3
    Membre régulier
    Inscrit en
    Février 2009
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 85
    Points : 74
    Points
    74
    Par défaut
    à mon avis le containter n'arrive pas à trouver la classe TestA.class lors de la compilation du xxx.java(la servlet généré à partir votre jsp) vers xxx.class

    supposons que TestA.java se trouve dans un package : pack1 (par exemple)
    ajouter la ligne suite dans votre page jsp:
    <%@ page import = "pack1.*"%>
    ou
    <%@ page import = "pack1.TestA"%>
    remarque:
    l'expression : <%= test %> affiche toujours la méme information (ne sera jamais modifié par une deuxiéme invocation... ) puisque la var test est déclaré dans ce cas la dans la méthode service du servlet généré

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 188
    Points
    188
    Par défaut
    Je vous remercie : effectivement, l'import résout mon problème.

    Reste un point (surement tout aussi basique) qui m'échappe : comment importer ma classe TestA ne fait pas partie d'un package (ce que netBean désigne comme le "default package", donc) ; comment l'importer ?
    En particulier,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import = "TestA"%>
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ page import = ".TestA"%>
    génère une erreur...

  5. #5
    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
    Il ne faut pas utiliser le default package.
    Il faut créer un package et mettre la classe TestA dans ce package.
    Modératrice Java - Struts, Servlets/JSP, ...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 130
    Points : 188
    Points
    188
    Par défaut
    Ok.

    Merci beaucoup pour ces réponses ; mes problèmes sont résolus !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/07/2011, 11h51
  2. Eval d'une propriété d'une classe dans une classe
    Par bizet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/10/2008, 09h43
  3. Réponses: 3
    Dernier message: 29/04/2008, 14h14
  4. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 14h34
  5. Une classe dans une classe...
    Par Baquardie dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2005, 19h36

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