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 :

Comment appeller les JSP dans WEB-INF et utiliser jQuery jTable: getRequestDispatcher() ou getWriter().print()


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Comment appeller les JSP dans WEB-INF et utiliser jQuery jTable: getRequestDispatcher() ou getWriter().print()
    Bonjour,

    Grâce à vous, j'aime une petite expérience en servlet/jsp. Mais j'ai une préoccupation.
    Dans mon développement, je stocke mes fichiers jsp dans le dossier WEB-INF. Je pense que pour appeler ces fichiers jsp, il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getServletContext().getRequestDispatcher(VUE).forward(req, resp);
    Je voudrais connaître si les jsp sont stockés dans le repertoire WEB-INF, on peut aussi utiliser ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resp.getWriter().print(jsonArray);
    Ma difficulté est de pouvoir afficher les données sur un tableau. Lorsque j'utilise la deuxième instruction, les données sont affichées sur une page blanche.

    Merci de votre aide.

  2. #2
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut Comment appeller les jsp dans WEB-INF et utiliser jquery jTable: getRequestDispatcher() ou getWriter().print()
    Bonjour,

    je pense que j'ai posé mal mon problème, car je ne sais pas dans quel forum le posté dans java ou dans jquery.

    J'ai découvert le jquery jTable, et selon mes lecteur j'ai aussi remarqué qu'il est plus utilisé avec les jsp se trouvant au niveau du WebContent. Pour appeler les jsp et utiliser jTable on utilise Or dans mon project, je mets mes jsp dans WEB-INF, je les appelle avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getServletContext().getRequestDispatcher(VUE).forward(req, resp);
    Alors afin d'utiliser jTable et mes jsp dans WEB-INF, comment je devais procéder ?
    jTable ne s'utilise lorsque les jsp se trouvent dans WebContent ?

    Merci, et c'est pour cette raison que le 1er post est incompréhensible, à car du fait que je ne savais ou le post dans java et dans jquery.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    C'est très confus ton problème, j'ai du mal à le cerner.

    Tout ce qui est dans WEB-INF est invisible pour l'utilisateur. C'est pour ça que tu passe par une servlet à l'avant plan.

    Les requêtes ajax vont demander à ton browser d'aller chercher le contenu à une url précise, point. Donc ce qui est accessible via jquery est exactement la même chose que ce qui est accessible via la barre d'adresse. si ta requete ajax "foire", je commencerais par taper cette url dans la barre d'adresse et je la corrigerais pour qu'elle tombe sur la ressource que je cherche, ensuite je modifierais le code de la jsp pour utiliser cette url corrigée dans la commande jquery qui pose problème.

    quand au getWriter & co, il n'a rien à voir avec le problème. Il fonctionne de la même manière quel que soit l'endroit où se trouve la jsp.

  4. #4
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Bonsoir tchize_,

    C'est vrai ce que vous dites, mais je crois avoir preciser certains détail dans mon deuxième post.

    Mon but est d'utiliser le jquery jTable dans mon project, et selon mes lectures jTable est plus utiliser avec les jsp se trouvant dans WebContent. Or je sais lorsque les jsp se trouvent dans ce dossier, on n'a pas besoin de la servlet pour appeler le jsp.

    Dans mon project, je mets les jsp dans web-inf et dans ce cas j'ai besoin d'une servlet pour appeler ma jsp.

    Parmi mes nombreuses lectures, voici un article qui le dit en son point 3. http://www.programming-free.com/2013...p-servlet.html

    Alors comment je peux utiliser le jquery jTable et appeler jsp se trouvant dans web-inf avec ma servlet ?

    Bonne soirée

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Montre ton code javascript utilisant jtable, parce que je ne vois pas ce qui pose problème. On s'en fout que le code qui utilise jtable soit dans web-inf, accédé via une servlet ou qu'il sorte d'une base de donnée, c'est une notion que le browser et dont jtable ignore.

  6. #6
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Le voici:
    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
    <!-- Pour affichier le tableau de données en referençant le js jTable -->
    <link href="css/jtable.css" rel="stylesheet" type="text/css" />
    <link href="css/jquery-ui-1.10.3.custom.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery-1.8.2.js" type="text/javascript"></script>
    <script src="js/jquery-ui-1.10.3.custom.js" type="text/javascript"></script>
    <script src="js/jquery.jtable.js" type="text/javascript"></script>
    <script type="text/javascript">
            $(document).ready(function() {
            $('#StudentTableContainer').jtable({
                    title : 'Liste des utilisateurs',
                actions: {
                             listAction : 'DaoUtilisateur?action=list'
                           },
                fields: {
                       matricule:{
                               title: 'matricule',
                               width: '20%',
                                 key: true,
                                list: true,
                              create: true
                                 },
                        nom_jury:{
                                  title: 'nom_jury',
                                  width: '15%',
                                   edit: false
                                },
                       password:{
                                 title: 'password',
                                 width: '10%',
                                  edit: true
                                },
                   fonctionjury:{
                                 title: 'fonctionjury',
                                 width: '20%',
                                  edit: true
                                },
                    profiljury:{
                                 title: 'profiljury',
                                 width: '20%',
                                  edit: true
                               }
                     }
            });
        $('#StudentTableContainer').jtable('load');
    });
     
    </script>
    <div id="StudentTableContainer"></div>
    Voici une partie de la servlet

    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
    if (action != null) {
    			if (action.equals("list")) {
    				try {
    					utilisateurList = daoUser.SelectAll_user();
    					String jsonArray = gson.toJson(utilisateurList);
    					jsonArray = "{\"Result\":\"OK\",\"Records\":"+ jsonArray + "}";
    					resp.setContentType("application/json");
    					resp.getWriter().print(jsonArray);
    					System.out.println(jsonArray);
    				} catch (Exception e){
    					String error = "{\"Result\":\"ERROR\",\"Message\":" + e.getMessage()+ "}";
    					resp.getWriter().print(error);
    					System.err.println(e.getMessage());
    				}
    			}
    		}
    Sur ma page voici ce qui s'affiche sur une page blanche.
    {"Result":"OK","Records":[
    {
    "matricule": "admin",
    "nom_jury": "Administrateur",
    "password": "admin",
    "fonctionjury": "Administrateur SI",
    "profiljury": "Administrateur"
    },


    Merci

  7. #7
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    J'apporte plus d'information.

    En mettant cet instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    this.getServletContext().getRequestDispatcher(VUE).forward(req, resp);
    à la place de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resp.getWriter().print(jsonArray);
    , ma page jsp s'affiche normalement mais sans les données dans mon tableau.

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ta servlet qui fournis le contenu pour la JTable n'a pas à faire de redirect. J'ai l'impression que tu essaie d'utiliser la même url pour à la fois afficher le jsp et charger le contenu, ce qui expliquerait que tu a le contenu de l'array JSON au lieu de la JSP. Tu dois avoir

    1) une servlet X qui te retourne le contenu de la jsp via le redirect
    2) le jsp que tu as déjà
    3) une autre servlet DaoUtilisateur qui sert le json (le code que tu as montré).

    J'ai l'impression qu'il te manque le point 1.

  9. #9
    Membre régulier
    Inscrit en
    Juillet 2005
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 265
    Points : 117
    Points
    117
    Par défaut
    Merci, j'ai suivi vos conseils et ça marche.

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

Discussions similaires

  1. JSP dans WEB-INF/sousRepertoire => 404
    Par Fanilo dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 31/05/2010, 16h27
  2. Déplacer les pages dans /WEB-INF/
    Par JeReMsS69 dans le forum JSF
    Réponses: 13
    Dernier message: 27/03/2009, 09h33
  3. proteger les vues en les mettant dans WEB-INF
    Par toure32 dans le forum JSF
    Réponses: 6
    Dernier message: 12/03/2009, 13h08
  4. [JSP] jsp dans WEB-INF
    Par Quartus dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 09/05/2006, 13h53
  5. [J2EE] JSP dans WEB-INF
    Par mlequim dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/11/2005, 11h26

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