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

Tapestry Java Discussion :

[Tapestry 5] Tableau dynamique


Sujet :

Tapestry Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut [Tapestry 5] Tableau dynamique
    Bonjour,

    Voilà on a un projet de court qui consiste à développer un forum en utilisant certain framework. Pour notre groupe il s'agit des framework hibernate et tapestry.


    Et l'on a justement un soucis avec tapestry, on aimerait pouvoir remplir un tableau dynamiquement en y mettant tous les sujets à la suite.

    On ne sait pas vraiment comment faire la méthode que l'on a utilisé fait que au lieu d'écrire les différentes parties dans les bonne colonnes.
    Mais on afficher tout le texte dans une même colonne et on voit apparaitre les balises <td></td> comme si il prenait ça pour du texte et nous pour des balises html

    Si vous connaissez un tuto ou si vous avez une idée on est preneur.

    Merci beaucoup

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Par défaut
    Bonjour,

    Avec Tapestry 5.1.0.5

    couche JPA

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    public List<MonObjet> findAll() {
        try {
        Query query = entityManager.createQuery("select u from MonObjet u");
    	List<MonObjet> List = (List<MonObjet>) query.getResultList();
    			return List;
    		} catch (RuntimeException re) {
    			return new ArrayList<MonObjet>();
    		}
    	}
    code java pour la page
    page. java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    public List<MonObjet> getList() {		
    		return  (List<MonObjet>) listGrid = service.findAll();
    	}
    code page
    page.tml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <t:grid source="list" rowsPerPage="10" row="monObjet" />
    tuto :
    http://baptiste-meurant.developpez.c...ing-hibernate/
    http://loic-frering.developpez.com/t...ring-tapestry/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Merci beaucoup ca nous a bien aidé

    On a un autre problème désormais c'est au sujet du composant beaneditorform

    On arrive pas à le faire marcher meme en faisant exactement comme dans les différents tutoriels que l'on a trouvé

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Bon voilà, on arrive à afficher le formulaire, il ajoute bien à la bdd mais ca débouche sur une page d'erreur.

    Voici ce que ça m'affiche :



    Voici le code de mon CreateUser.tml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xmlns:p="tapestry:parameter">
        <body>
            <h1>Inscription</h1>
     
            <t:beaneditform t:id="user" submitlabel="message:create-user">
            	<t:parameter name="statusUtilisateur">
    	    	</t:parameter>
    	    </t:beaneditform>
        </body>
    </html>
    CreateUser.java :
    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
    package t5demo.pages;
     
    import java.util.List;
     
    import org.apache.tapestry5.annotations.Persist;
    import org.apache.tapestry5.ioc.annotations.Inject;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
     
    import connect.HibernateUtil;
     
    import forum.Utilisateur;
     
    public class CreateUser {
     
    	@Persist
    	private Utilisateur user;
     
     
    	public Utilisateur getUser()
    	{
    		return user;
    	}
     
    	public void setUser(Utilisateur user){
    		this.user = user;
    	}
     
    	public void ajouterUtilisateur(Utilisateur u) 
        {
            Transaction tx=null;
            Session session =  HibernateUtil.currentSession();
            session.flush();
            try 
            {
                tx = session.beginTransaction();
                session.save(u);
                tx.commit();
            } 
            catch (HibernateException he) 
            {
                if (tx != null) {
                    tx.rollback();
                }
                throw he;
            }
            HibernateUtil.closeSession();
        } 
     
    	Object onSuccess(){
     
    		this.ajouterUtilisateur(user);
     
    		return Utilisateur.class;
     
    	}
    }

    Utilisateur.java :
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    package forum;
    // Generated 11 mai 2010 14:01:03 by Hibernate Tools 3.2.1.GA
     
     
     
    /**
     * Utilisateur generated by hbm2java
     */
    public class Utilisateur  implements java.io.Serializable {
     
     
         private String loginUtilisateur;
         private String mdpUtilisateur;
         private String nomUtilisateur;
         private String prenomUtilisateur;
         private String mailUtilisateur;
         private int statusUtilisateur;
         private String avatarUtilisateur;
     
        public Utilisateur() {
        }
     
        public Utilisateur(String loginUtilisateur, String mdpUtilisateur, String nomUtilisateur, String prenomUtilisateur, String mailUtilisateur, int statusUtilisateur, String avatarUtilisateur) {
           this.loginUtilisateur = loginUtilisateur;
           this.mdpUtilisateur = mdpUtilisateur;
           this.nomUtilisateur = nomUtilisateur;
           this.prenomUtilisateur = prenomUtilisateur;
           this.mailUtilisateur = mailUtilisateur;
           this.statusUtilisateur = statusUtilisateur;
           this.avatarUtilisateur = avatarUtilisateur;
        }
     
        public String getLoginUtilisateur() {
            return this.loginUtilisateur;
        }
     
        public void setLoginUtilisateur(String loginUtilisateur) {
            this.loginUtilisateur = loginUtilisateur;
        }
        public String getMdpUtilisateur() {
            return this.mdpUtilisateur;
        }
     
        public void setMdpUtilisateur(String mdpUtilisateur) {
            this.mdpUtilisateur = mdpUtilisateur;
        }
        public String getNomUtilisateur() {
            return this.nomUtilisateur;
        }
     
        public void setNomUtilisateur(String nomUtilisateur) {
            this.nomUtilisateur = nomUtilisateur;
        }
        public String getPrenomUtilisateur() {
            return this.prenomUtilisateur;
        }
     
        public void setPrenomUtilisateur(String prenomUtilisateur) {
            this.prenomUtilisateur = prenomUtilisateur;
        }
        public String getMailUtilisateur() {
            return this.mailUtilisateur;
        }
     
        public void setMailUtilisateur(String mailUtilisateur) {
            this.mailUtilisateur = mailUtilisateur;
        }
        public int getStatusUtilisateur() {
            return this.statusUtilisateur;
        }
     
        public void setStatusUtilisateur(int statusUtilisateur) {
            this.statusUtilisateur = statusUtilisateur;
        }
        public String getAvatarUtilisateur() {
            return this.avatarUtilisateur;
        }
     
        public void setAvatarUtilisateur(String avatarUtilisateur) {
            this.avatarUtilisateur = avatarUtilisateur;
        }
     
     
     
     
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Par défaut
    Salut,

    Sauf erreur de ma part, je pense que l'erreur se situe à ce niveau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    return Utilisateur.class;
    Tapestry essaie de faire la correspondance entre Utilisateur.java et Utilisateur.tml. Ta page Utilisateur.tml n'existe pas ou est mal située.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Effectivement, l'erreur viens de là.

    Nous avons encore un problème (trois pour etre plus pécis)

    Nous n'arrivons pas à rendre un élément d'un colonne cliquable.

    et le second problème c'est que l'on arrive pas à ajouter une colonne (pour par exemple supprimer un élément.

    le troisième soucis est comment apporté une feuille de style à des éliment de Tapestry

    Si quelqu'un veut bien nous aider on doit rendre cela demain

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Pour le lien d'un élément du tableau on a trouvé on cherche encore à faire fonctionner l'ajout d'un colonne et comment appliquer du css

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Finalement on a réussi, ça marche correctement
    Merci de ton aide

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 28
    Par défaut
    Salut,
    Pourrais tu donner les solutions à tes précédents problèmes, ça pourrait aider d'autres utilisateurs dans le mème cas.

    Merci

    Cordialement,

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    Oui pas de soucis,

    Pour rajouter une colonne à un grid ou en exclure une, la raison du dysfonctionnement c'est que l'on avait créé un projet avec Tapestry 5.0 et non 5.1 ce qui as poser quelques soucis de fonctionnement. Nous avons du passer tout le projet en 5.1.

    Nous avons donc rajouter une colonne de suppression d'un élément dans le tableau dont voici le code :


    GererUtilisateur.tml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h2>Les utilisateurs</h2>
           			<t:grid t:source="list" t:row="utilisateur"  t:add="delete,modifier" rowsPerPage="10" exclude="avatarUtilisateur">
          		    <p:modifiercell>
                    	<t:pagelink page="modifierUtilisateur"  context="utilisateur.loginUtilisateur" >modifier</t:pagelink>
                		</p:modifiercell>	  
        		    <t:parameter name="deleteCell">
                       		<t:actionlink t:id="delete" context="utilisateur.loginUtilisateur">Supprimer</t:actionlink>
                     </t:parameter>			
           			 </t:grid>
    GererUtilisateur.java :
    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
     
    import java.util.List;
    import javax.servlet.http.HttpSession;
     
    import org.apache.tapestry5.annotations.Property;
    import org.apache.tapestry5.ioc.annotations.Inject;
    import org.apache.tapestry5.services.RequestGlobals;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
     
    import connect.HibernateUtil;
    import forum.Utilisateur;
     
     
    /**
     * Start page of application app.
     */
    public class GererUtilisateur
    {
    	@Property
    	private Utilisateur utilisateur;
     
    	private List<Utilisateur> listUtilisateur;
     
    	public List<Utilisateur> getList() 
    	{
    		Session session = HibernateUtil.currentSession();
    		listUtilisateur = (List<Utilisateur>) session.createQuery("from forum.Utilisateur").list();
    		HibernateUtil.closeSession();
    		return listUtilisateur;
    	 }
     
             void onActionFromDelete(String postId){
     
    		 List<Utilisateur> allPost = (List<Utilisateur>) this.getList();
    		 Utilisateur u=null;
    		 for(int i=0;i<allPost.size();i++){
    			 if(allPost.get(i).getLoginUtilisateur().compareTo(postId)==0){
    				 u = allPost.get(i);
    			 }
    		 }
     
    		 Transaction tx=null;
    	        Session session =  HibernateUtil.currentSession();
    	        session.flush();
    	        try 
    	        {
    	            tx = session.beginTransaction();
    	            if(!(u==null)) {
    	            	session.delete(u);
    	            }
     
    	            tx.commit();
    	        } 
    	        catch (HibernateException he) 
    	        {
    	            if (tx != null) {
    	                tx.rollback();
    	            }
    	            throw he;
    	        }
    	        HibernateUtil.closeSession();
    	 }
    }

    Ensuite nous avons aussi rajouter une colonne de modification qui nous permet de modifier un utilisateur. Le lien est spécifier dans GererUtilisateur.tml


    Ca nous amène à la page de modifier utilisateur qui permet d'éditer un utilisateur en utilisant ses précédentes valeurs.

    ModifierUtilisateur.tml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <h2>Formulaire de modification</h2>
           			<t:beaneditform t:id="utilisateur" submitlabel="modifier"/>

    ModifierUtilisateur.java :
    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
    73
    74
    75
    76
     
    import org.apache.tapestry5.annotations.Persist;
    import org.apache.tapestry5.annotations.Property;
    import org.apache.tapestry5.ioc.annotations.Inject;
    import org.apache.tapestry5.services.RequestGlobals;
    import org.hibernate.HibernateException;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
     
    import connect.HibernateUtil;
     
    import forum.Utilisateur;
     
    public class ModifierUtilisateur
    {
     
    	@Persist
    	private Utilisateur _utilisateur;
     
    	public Utilisateur getUtilisateur()
    	{
    		return this._utilisateur;
    	}
     
    	public void setUtilisateur(Utilisateur u)
    	{
    		this._utilisateur = u;
    	}
     
    	Object onSuccess()
    	{		
    		this.modifierUtilisateur(this._utilisateur);
    		return Index.class;		
    	}
     
    	void onActivate(String login)
        {
     
    		boolean bool = false;
    		Session session = HibernateUtil.currentSession();
    		List<Utilisateur> utilisateurs = (List<Utilisateur>) session.createQuery("from forum.Utilisateur where loginUtilisateur='"+login+"'").list();
    		HibernateUtil.closeSession();
     
    		for(int i=0; i<utilisateurs.size();i++){
     
    			if(utilisateurs.get(i).getLoginUtilisateur().equals(login)){
     
    			this._utilisateur=utilisateurs.get(i);
    			}
    		}
        }
     
    	  /**
         * Fonction nous permettant d'ajouter un utilisateur
         * @param Utilisateur
         */
        public void modifierUtilisateur(Utilisateur u) 
        {
            Transaction tx=null;
            Session session =  HibernateUtil.currentSession();
            session.flush();
            try 
            {
                tx = session.beginTransaction();
                session.update(u);
                tx.commit();
            } 
            catch (HibernateException he) 
            {
                if (tx != null) {
                    tx.rollback();
                }
                throw he;
            }
            HibernateUtil.closeSession();
        }


    En ce qui concerne le CSS, nous avons du passer par un t:layout sinon sur certaines page nous avions quelques soucis de style.

    ET nous n'avons pas réussi à modifier le style des composants tapestry.


    Voilà ce que nous a apporté nos recherches

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/03/2015, 18h31
  2. récupérer la memoire et tableau dynamique
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 06/01/2003, 08h02
  3. AFFICHER UN TABLEAU DYNAMIQUE
    Par ghassenus dans le forum Langage
    Réponses: 2
    Dernier message: 28/12/2002, 14h19
  4. [Kylix] tableau dynamique
    Par sdoura2 dans le forum EDI
    Réponses: 1
    Dernier message: 31/10/2002, 08h57
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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