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

Seam Java Discussion :

richfaces/seam lien many to one


Sujet :

Seam Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut richfaces/seam lien many to one
    bonjour,
    Je démarre sur seam et je souhaite faire un fonction très simple qui est de lier un contrat à un projet. je souhaite donc à la création d'un contrat proposer un bouton qui propose la liste des projets(avec filtre sur libelle). Cette fonctino est d'un grand (très grand) classique.
    Cela marche sauf que si je commence à saisir le libellé du contrat, quand je passe à la page suivante(clique sur le bouton choix projet) je selectionne un projet, je reviens sur le contrat en cours de création et mon libellé à disparu car le contrat ne peut être sauvé sans libellé.

    qqun a t'il une solution simple avec seam ou une solution pour ne pas changer d'ecran en utilisant ajax et richefaces.


    merci

  2. #2
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    T'as 2 possibilité à mon avis

    soit tu choisi le projet dans une popup, avec filtres et tout ce que tu veux, et quand tu clique sur un projet du popup, çà rempli le chanmp "contrat" dans le fenetre ouvrante. Ce donne bien, mais çà nécessite chiament du javascript à faire pour le transfert de l'information entre les fenetre et l'édition en javascript d'un composant jsf... on a pris cette option ici pour les liste de sélection de plus de 50 lignes

    soit tu met simplement un panel où y a un selectOneMenu pour choisir le contrat, le contenu du selectOneMenu dependant de ton filtre, tu gère tout ce panel avec des a4j:commandButton qui soumettent en ajax. ainsi le reste de ton form n'est pas affecté...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    pour la première solution je l'ai déja mise en place sur un autre projet jsf (tomahawk) et effectivement c'est compliqué mais "user friendly".
    Pour l'autre solution aurait tu un exemple simple car je ne connais pas a4j

    merci

  4. #4
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    les tags a4j, ajax4JSF sont lié à richfaces (richfaces dépend de ajax4jsf, il ne fait qu'jouter une surcouche de présentation, toute la logique ajax se trouve dans ajax4jsf). Dans les dernières version de richfaces, les tags a4j sont inclus, avant c'étaient 2 jars séparés.

    Toute la doc est sur le site de richfaces. A4J contient des bouton qui, au lieu d'envoyer le formulaire normalement, l'envoien (en tout ou en partie, configurable) par AJAX, récupèrent la réponse et mettent à jour les éléments du formulaire coté client. L'avantage c'est que si tu limite à une zone, tout est dynamique dans le navigateur.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 27
    Par défaut
    Merci pour ta réponse, j'arrive à faire apparaitre une modalpanel avec la liste de mes projets. malheureusement quand je clic sur le lien de mon tableau l'ensemble de la page est rafraichie (perte des modif) je n'arrive pas à ne faire agir le s:link du tableau sur une seule partie de la page.
    Pourtant la solution me semble être sympa, et je pourrais peut être y ajouter des filtres.

    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
     <a:form ajaxSubmit="true" reRender="projetLibelle">
                <s:decorate id="projet" template="layout/edit.xhtml">
                    <ui:define name="label">Projet *</ui:define>
     
                    <h:outputText id="projetLibelle" value="#{contratHome.instance.projet.libelle}"></h:outputText><a href="javascript:Richfaces.showModalPanel('form:panel');">Open</a>
                </s:decorate>
     
    </a:form>
     
    <a:form id="form" ajaxSubmit="true">
                <rich:modalPanel id="panel" width="400" height="300">
                <f:facet name="header">
                    <h:outputText value="Liste projet"/>
                </f:facet>
                <a href="javascript:Richfaces.hideModalPanel('form:panel')">Close</a>
                <rich:dataTable id="projetList" 
                        var="projet"
                      value="#{projetList.resultList}" 
                   rendered="#{not empty projetList.resultList}">
                        <h:column>
                            <f:facet name="header">
                                <s:link styleClass="columnHeader"
                                             value="libelle #{projetList.order=='libelle asc' ? messages.down : ( projetList.order=='libelle desc' ? messages.up : '' )}">
                                    <f:param name="order" value="#{projetList.order=='libelle asc' ? 'libelle desc' : 'libelle asc'}"/>
                                </s:link>
                            </f:facet>
                            #{projet.libelle}
                        </h:column>
                        <h:column>
                            <f:facet name="header">action</f:facet>
                            <s:link view="/ContratEdit.xhtml" 
                                   value="Select" 
                                      id="projet">
                                <f:param name="projetIdprojet" 
                                        value="#{projet.idprojet}"/>
                            </s:link>
     
                        </h:column>
                    </rich:dataTable>
                </rich:modalPanel>
     
            </a:form>
    Edité pour ajouter les balises de CODE, c'est plus lisible ainsi.

  6. #6
    Expert éminent
    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 : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    je pense pas que s:link utilise ajax, donc forcément çà reload tout. FAut utiliser des composant a4j et richfaces pour faire les submit en ajax (boutons, liens).

Discussions similaires

  1. PB de lien many to one
    Par eric___ dans le forum Struts 1
    Réponses: 0
    Dernier message: 09/01/2011, 14h00
  2. [Hibernate]POJO et many-to-one
    Par azpublic dans le forum Hibernate
    Réponses: 3
    Dernier message: 13/07/2006, 15h00
  3. html:select et hibernate many-to-one
    Par davdou dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/07/2006, 14h56
  4. Hibernate : suppression sur relation many to one
    Par taf dans le forum Hibernate
    Réponses: 1
    Dernier message: 23/05/2006, 13h08
  5. [hibernate] "many-to-one"
    Par mehdi_swatch dans le forum Hibernate
    Réponses: 26
    Dernier message: 12/05/2006, 20h11

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