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 :

JSP - Accès aux éléments de la ModelMap


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut JSP - Accès aux éléments de la ModelMap
    Bonjour,

    Je développe une application J2EE intégrant SpringMVC.

    J'utilise les annotations pour les controlleurs.

    Voici un exemple de controlleur :

    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
     
     
    @Controller
    @RequestMapping("/test.html")
    public class Test {
     
        @Autowired
        private PortalService portalService;
     
         @RequestMapping(method = RequestMethod.POST)
        public  String sayHello(
                @RequestParam(value="name",required=true) String name,
                @RequestParam(value="prenom",required=true) String prenom,
                ModelMap model, HttpServletResponse response) throws IOException {
            model.addAttribute("name",name);
            model.addAttribute("prenom",prenom);
     
            List<FirstDM> firstDMs = portalService.getAll();
            model.addAttribute("firstDMs", firstDMs);
            System.out.println(firstDMs);
     
            return "hello";
        }
    }
    Ici donc je renvoie la vue hello.. Il s'agit d'une jsp.

    La question que j'ai est : est il possible d'accéder aux éléments de la ModelMap dans la jsp hello en utilisant du java deds.. Je m'explique :

    Pour le moment ma jsp est de ce style :

    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
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
             pageEncoding="ISO-8859-1"%>
    <%@ page isELIgnored ="false" %>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Test !!</title>
    </head>
    <body>
     
    <p>Hello spring mvc vous donne votre nom qui est : ${name} et votre prenom est : ${prenom}</p>
     
    <table border="1" width="100%">
        <thead>
        <tr>
            <th>Id</th>
            <th>Name</th>
        </tr>
        </thead>
        <c:forEach items="${firstDMs}" var="mobj"
                   varStatus="status">
            <tr>
                <td> ${mobj.id}</td>
                <td> ${mobj.name}</td>
            </tr>
        </c:forEach>
     
    </table>
    </body>
    </html>
    qui permet d'afficher une table avec les éléments de firstDM.

    Moi je voudrais un truc du genre :

    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
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
             pageEncoding="ISO-8859-1"%>
    <%@ page isELIgnored ="false" %>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Spring mvc hello !!</title>
    </head>
    <body>
     
    <p>Hello spring mvc vous donne votre nom qui est : ${name} et votre prenom est : ${prenom}</p>
     
    <table border="1" width="100%">
        <thead>
        <tr>
            <th>Id</th>
            <th>Name</th>
        </tr>
        </thead>
        <%  List<FirstDM> firstDMs = ????
               for(FirstDM dm ! firstDMs) {
                   // Des opérations en JAVA
               }
     
        %>
    </table>
    </body>
    </html>
    et donc accéder aux éléments de la map dans une balise JAVA simple et pas en passant par le taglib jstl.. Est-ce possible? Si oui, comment?

    Merci d'avance...

  2. #2
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Tu as essayé ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <%
    List<FirstDM> list = (List<FirstDM>)request.getAttribute("firstDMs");
    %>
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    Nop.. nickel ca marche ..

    Et apres tu sais comment on peut faire pour l'afficher dans la page html.. genre un System.out.println mais sur la page html et pas dans le terminal..

    En fait j'y connais pas grand chose en jsp, je sais pas trop jouer avec :/.. Peut etre que tu connais un bon tuto de ce qu'on peut faire avec, et comment communiquer avec les éléments Java qu'on crée..

    Merci bcp...

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Par défaut
    tu peux essayer cela :

    <%
    List<FirstDM> list = (List<FirstDM>)request.getAttribute("firstDMs");

    for(FirstDM fdm : list){
    out.println(fdm.getId() + " " + fmd.getValue());
    }

    %>

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 24
    Par défaut
    .. hé, c'est cool.. Merci bcp..

    J'ai encore une petite question :/.. J'aimerais mettre un css pour le style de la page mais je n'y arrive pas.

    Voici la structure :

    ---------------- spring-mvc-webapp
    |
    -------- src
    |
    ----------main
    |
    ---------java (il y a mes controlleurs et tout la deds)
    ---------resources
    ---------webapp
    |
    ---------styles (qui contient la fichier style.css)
    ---------WEB-INF ( la y a web.xml, applicationContext.xml etc)
    |
    ----------jsp (la ou il y a mes jsp )

    Donc qd j'entre l'addresse de l'applic : http://localhost:8080/spring-mvc-webapp/
    le controlleur indexControlleur prend la main (grace au dispatcherservlet) et renvoie la page index.jsp qui s'affiche. Dans celle-ci, il y a

    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
     
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;  charset=UTF-8" />
        <meta name="description" content="An minimal site format" />
        <meta name="keywords" content="blog" />
        <link href="<c:url value="/"/>styles/style.css" rel="stylesheet" type="text/css" />
     
        <title>Calendar</title>
    </head>
     
    <body>
    <div id="container">
        <div id="header"><h1>Calen<span>dar</span></h1></div>
        <div id="wrapper">
            <!-- Menu du haut -->
            <!--div id="navigation">
                <ul>
                    <li class="current_page_item"><a href="index.html">Login</a></li>
                    <li><a href="menugen.html">Général</a></li>
                    <li><a href="menugrp.html">Groupes</a></li>
                    <li><a href="menumem.html">Membres</a></li>
                </ul>
            </div-->
     
            <!-- Contenu -->
     
            <div id="content-wrapper">
                <div id="content">
                    <h3 class="post-title"><a href="index.html#">Projet de base de donnée </a></h3><span class="date">Groupe 8</span>
     
                    <form action = "verification.html" method = "post">
                        <table>
                            <tr>
                                <td> Login </td>
                                <td>
                                    <p>
                                        <input type = "text" name = "login" />
                                    </p>
                                </td>
                            </tr>
                            <tr>
                                <td> Mot de passe </td>
                                <td>
                                    <p>
                                        <input type = "password" name = "mdp" />
                                        <input type = "submit" value = "OK"/>
                                    </p>
                                </td>
                            </tr>
                        </table>
                    </form>
                </div>
            </div>
        </div>
    </div>
    </body>
     
    </html>
    Comme on peut le voir il y a ds <head> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <link href="<c:url value="/"/>styles/style.css" rel="stylesheet" type="text/css" />
    mais le css n'est pas utilisé. J'ai aussi utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <link rel="stylesheet" type="text/css" href="/styles/style.css" />
    et aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <link rel="stylesheet" type="text/css" href="/spring-mvc-webapp/styles/style.css" />
    mais rien n'y fait.. le style n'est jamais pris en compte.. Très ennuyant :/..

    Merci bcp..

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Personnellement, je les référence comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <link rel="stylesheet" href="<%=request.getContextPath()%>/styles/styles.css" type="text/css"/>
    Si ce n'est pas pris en compte, le problème vient peut-être d'ailleurs...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Accès aux éléments de la page jsp
    Par Haelle dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/08/2010, 09h19
  2. Accès aux éléments de différentes frames
    Par metalpetsFR dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 16/09/2009, 06h36
  3. Accès aux éléments d'une structure
    Par licorne dans le forum Pascal
    Réponses: 1
    Dernier message: 15/02/2007, 17h44
  4. accès aux éléments d'une enum
    Par aymeric__ dans le forum C++
    Réponses: 6
    Dernier message: 17/08/2006, 21h17
  5. [Rico] Accès aux éléments de la page de manière bizarre
    Par dodik dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 22/02/2006, 17h35

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