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

Développement Web en Java Discussion :

Récupération d'un lien dans la base de données


Sujet :

Développement Web en Java

  1. #1
    Membre actif Avatar de janyoura
    Femme Profil pro
    étudiante ingénierie informatique
    Inscrit en
    Mars 2012
    Messages
    365
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : étudiante ingénierie informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 365
    Points : 279
    Points
    279
    Par défaut Récupération d'un lien dans la base de données
    Salut, j'ai besoin de récupérer un lien à partir de ma base données mais je n'arrive pas à l'insérer correctement dans ma (url) page jsp de façon qu'il sera affiché comme un lien. voiçi le code:
    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
     
     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%FormationDAO cd=new FormationDAOHibernate(); 
    List l1=cd.findAll();
    FormationServices fserv=new FormationServices();
     for(int i=0;i<l1.size();i++)
     {
    Formation c1=fserv.getFormation(i);
    String plan;
    request.setAttribute("c1", c1);
    plan = c1.getPlan();
     out.print("<tr class='second'><td class='text' style='width: 10%;'><div class=''>"+c1.getTitre()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getThème()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getFormateur()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getPrix_cl()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getPrix_gpe()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getDate_deb()+"</div></td><td class='text' style='width: 10%;'><div class=''>"+c1.getDurée()+"</div></td></tr>");
    out.print(""<c:url value="${c1.plan }" var="plan"/>"");
    }
     
    %>
    le but du code est d'afficher les détails de chaque formation. j'ai un problème dans l'affichage du "plan" qui est enregistré dans ma base comme un lien exemple: "/plan_jee/index.html". comment écrire correctement ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.print(""<c:url value="${c1.plan }" var="plan"/>"");
    Merci pour votre aide.
    NB: débutant
    "Scientists dream about doing great things. Engineers do them.”

    La réussite après tant de travail est un sentiment à vivre

    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  2. #2
    Membre actif
    Avatar de karbos
    Inscrit en
    Novembre 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 155
    Points : 255
    Points
    255
    Par défaut
    Citation Envoyé par janyoura Voir le message
    comment écrire correctement ce bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.print(""<c:url value="${c1.plan }" var="plan"/>"");
    Il faut échapper les guillemets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out.print("<c:url value=\"${c1.plan }\" var=\"plan\"/>");

  3. #3
    Membre chevronné
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Points : 2 112
    Points
    2 112
    Par défaut
    Je crois que j'ai rarement vu une page JSP avec :
    - du scriplet JAVA
    - des out.print
    - du JSTL

    et c'est d'ailleurs à cause de cette "mixture" que tu te perds.

    1 - la liste des formations, tu dois l'obtenir auprès un bean JSP (jsp:useBean) qui lui communiquera avec ta couche service et ta couche DAO. En aucun cas ta JSP doit avoir l'accès direct à de la DAO

    2 - si tu utilises JSTL, alors utilise le à fond : PAS DE CODE JAVA dans une page JSTL.

    3 - donc du coup ... ne pas faire de out.print et encore moins de for car le tag "c:forEach" est totalement fait pour cela.

    Avec ces recommandations, ton code ressemblerait un peu à cela

    à adapter bien sûr :
    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
     
    <%@ taglib uri='http://java.sun.com/jstl/core' prefix='c' %>
     
    <jsp:useBean id='formationService' class='monpackage.FormationService' />
     
    <c:forEach var="formation" items="${formationService.all}">
       <tr class='second'>
         <td class='text' style='width: 10%;'>
         <div class=''>${formation.titre}</div>
         </td>
         <!-- ... etc ... -->
         <td>
            <a href="<c:url value='${formation.plan }'">Lien</a>
         </td>   
    </c:forEach>
    et enfin une classe "FormationService" qui accède à la partie DAO (j'ai d'ailleurs du mal à comprendre la tienne) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package monpackage;
     
    public class FormationService
    {
       public List <Formation> getAll()
       {
         FormationDAO formationDao=new FormationDAO(); 
         return formationDao.findAll();
       }
    }


    Enfin, si je dois commenter purement ton code :

    tu génères un lien "dans un tableau", mais même pas dans une cellule, ni même dans un tag A HREF ... donc il y a peu de chance que cela se termine en un lien dans l'une des cellules de ton tableau, en l'état.
    Moins on code, moins il y a de bug ... et vice-versa ainsi qu'inversement ...

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

Discussions similaires

  1. Récupération valeur case à cocher dans la base de données
    Par jarod6827 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 09/04/2009, 12h25
  2. Réponses: 12
    Dernier message: 03/01/2009, 21h12
  3. [MySQL] Récupération de code php dans une base de données
    Par kitana dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/03/2006, 00h25
  4. [VB.NET] lien d'une base de donnée dans une variable
    Par Anubis666 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/01/2006, 10h56
  5. Oracle Designer: récupération d'une vue dans la base
    Par BILLYPATOU dans le forum Designer
    Réponses: 2
    Dernier message: 19/03/2004, 11h08

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