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

Struts 2 Java Discussion :

DisplayTag et plugin Jquery


Sujet :

Struts 2 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut DisplayTag et plugin Jquery
    Bonjour,

    Contexte :

    Sur une page j'affiche une liste de résultats sous forme d'un tableau. Pour le faire j'utilise la bibliothèque displayTag avec un Tabledecorator (certaines colonnes sont des URL d'images je surcharge avec <img src... ce n'est peut etre pas indispensable).

    Dans le même projet (mais ailleurs) j'utilise Struts2jQueryPlugin (j'ai donc à ma disposition la bibliothèque de TAG <sj:*>

    Demande

    Dans le tableau que j'affiche j'aimerais que l'une des colonnes comporte un lien vers une fenêtre modale (un Dialog au sens Jquery) quelquechose de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <display:tag name="result" decorator="maclasse">
      <display:column property="TOTO" >
        <s:url id="action<%= ${row.id} %>" value="/details?id="<%= ${row.id} %>" />
        <sj:dialog id="dialog<%= ${row.id} %>" href="%{action<%= ${row.id} %>}" title="Dialog with remote content">
            <img id="indicator" src="images/indicator.gif" alt="Loading..."/>
        </sj:dialog>    
      </display:column>
    </display:tag>
    Les options que je vois :

    - Dans le décorator écrire tous le bloc HTML permettant l'appel à ma fenetre Modale mais je ne sais pas du tout à quoi il ressemble
    - Supprimer le décorator et tenter les affichages à coup de <%= %> mais je ne sais pas si ça va passer
    - Le coup de l'Iterator : j'aime pas car je souhaite conserver la pagination.

    Any idea ? Je n'y arrive pas.....

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    11
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 11
    Par défaut
    Voici la solution :

    1) Si on utilise le TableDecorator on ne peut plus surcharger les <display:column property="dudule" /> il va systématiquement dans la classe du décorator et recherche la méthode getDudule(). Mais dans la réalité on a très rarement besoin d'un décorator il suffit de réaliser une peu de mise en forme dans l'ActionSupport après l'appel du service. (création des "web beans").

    2) Voici comment j'ai réalisé une fenetre Modal JQuery pour chaque ligne de mon displayTAG

    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
     
    <%@taglib prefix="sj" uri="/struts-jquery-tags" %>
    <%@taglib prefix="s"  uri="/struts-tags" %>
    <%@taglib prefix="d"  uri="/display-tags" %>
     
    <!-- Declaration de la modale jQUERY -->
    <sj:dialog id="dialogDetails" title="Detail" openTopics="openRemoteDialog" autoOpen="false" modal="true" height="auto" />
     
    <!-- Mon tableau DisplayTag -->
    <d:table name="results" id="row" pagesize="10" >
     
      <%= MonWebBean mwb = (MonWebBean) pageContext.getAttribute("row"); %>
      <d:column property="prop1" title="titreProp1" />
      <d:column>
          <s:url id="remote<%= mwb.getId() %>" action="afficherDetails" >
             <s:param name="id"><%= mwb.getId() %></s:param>
          </s:url>  
          <sj:a onClickTopics="openRemoteDialog" href="%{remote<%= mwb.getId() %> }" button="true">Details</sj:a>
      </d:column>
    </d:table>
    Cela servira peut-être à quelqu'un un jour...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/01/2012, 19h46
  2. Meilleurs plugins jQuery
    Par yann18 dans le forum jQuery
    Réponses: 1
    Dernier message: 12/03/2009, 15h34
  3. Utiliser le plugin jQuery.history
    Par SpIrIt505050 dans le forum jQuery
    Réponses: 1
    Dernier message: 19/02/2009, 11h17

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