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 1 Java Discussion :

modifier les taglibs avec struts 1.3.8


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut modifier les taglibs avec struts 1.3.8
    bonjour, je suis sous eclipse 3.2 avec un struts 1.3.8.

    Je souhaite modifier des tags, ainsi que l'uri qui appelle une bibliotheque de tags dans l'entete des JSP. tout est present dans un fichier tld, disons 'struts-html.tld'.

    Dans la version 1.3.8, tout est inclus dans un jar qui lui meme est inclus dans une librairie rattachée au projet.

    Lorsque j'essaie de modifier le fichier 'struts-html.tld' avec eclipse, visiblement le fichier est protégé en écriture. Je ne peux rien ecrire ou effacer.

    Est ce que c'est parce que les fichiers tld sont inclus dans un jar ?

    Comment faire pour les 'sortir' du jar, et les modifier ? Faut il les sortir pour les mettre dans un repertoire 'WEB-INF/tld/' comme explique dans la discution:
    'Pb taglib Struts 1.3.8'

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    il suffit juste de recuperer le code source de struts et le modifier. Mais je te le conseille pas. Tu as la possibilité d'ecrire toi meme des taglib qui hérite de taglib de strust. Tu as donc au final un tag perso, avec sa propre tld, son propre fonctionnement et la possibilité de lier son fonctionnement avec des fonctionnalités du tag hérité

  3. #3
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    Donc je redéfini un taglib, et je le signale dans le fichier web.xml ?

    et est ce que je dois recopier le fichier dont il herite entierement, ou est ce que je peux lui affecter une taglib 'parent' et juste redefinir qq tags ?

  4. #4
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    A priori, tu n'as pas besoin de toucher au web.xml. Tu depends comment tu défini ta tld. Qu'est ce que tu veux faire exactement au juste? Parce que pour le moment, il est difficile de t'aider si je sais pas où tu veux en venir.

    Est ce que je dois recopier le fichier dont il herite entierement
    Qu'elle est l'interet de recopier un fichier qu'on herite, si tu en herite, c'est que tu as acces au methode avec la possibilité de les redevelopper !!!

    J'ai déjà eu à redefinir le tag select (html:select), pour l'heritage, tu fais simplement ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class SelectTag extends org.apache.struts.taglib.html.SelectTag
    Bref, un heritage comme un autre.

  5. #5
    Membre très actif
    Inscrit en
    Juin 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 161
    Par défaut
    en fait je veux modifier cette partie:

    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
    <taglib>
        <tlib-version>1.3</tlib-version>
        <jsp-version>1.2</jsp-version>
        <short-name>html</short-name>
        <uri>http://struts.apache.org/tags-html</uri>
        <description>
            <![CDATA[
      <p>
            This taglib contains tags used to create struts
            input forms, as well as other tags generally useful
                    in the creation of HTML-based user interfaces.
      </p>
     
      <p>Many of the tags in this tag library will throw a
      <code>JspException</code> at runtime when they are utilized incorrectly
      (such as when you specify an invalid combination of tag attributes).  JSP
      allows you to declare an "error page" in the <code>&lt;%@ page %&gt;</code>
      directive.  If you wish to process the actual exception that caused the
      problem, it is passed to the error page as a request attribute under key
      <code>org.apache.struts.action.EXCEPTION</code>.</p>
      ]]>
        </description>
    et en particulier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        <uri>http://struts.apache.org/tags-html</uri>
    et le code html que le tag 'html' insere dans une page html.

    Quand je dit copier, c'est copier-coller l'integralite du code contenu dans le fichier 'struts-html.tld', dans un nouveau fichier tld que je place dans un rep '/WEB-INF/tld' (par ex). Puis modifier la partie que je souhaite redefinir, et apres utiliser cette nouvelle taglib dans le fichier web.xml, et les JSP. (c'est plus clair ?)

  6. #6
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Donc effectivement, tu vas devoir plutot redéfinir tous les taglibs que tu souhaites utiliser de maniere differente parmis ceux que propose "html" pour modifier le code html que les tags de html insere dans la page.
    Honnetement, si c'est vraiment ca que tu veux faire, et ben tu as du boulot.

    Tu auras donc bien a copier coller la tld de html dans un fichier tld.
    Par contre pour chaque classe que tu vas redefinir il faudra que tu le renseigne dans le <tag-class>...</tag-class> du tag.
    Tu ne devrais pas a avoir a modifier ton web.xml dans ce cas

Discussions similaires

  1. Quelles taglibs avec struts 1.1?
    Par jayjaypg22 dans le forum Struts 1
    Réponses: 0
    Dernier message: 24/02/2010, 16h05
  2. comment utiliser les cookies avec struts
    Par mima_mine dans le forum Struts 1
    Réponses: 3
    Dernier message: 04/09/2008, 07h44
  3. Modifier les données avec un curseur
    Par isoman dans le forum SQL
    Réponses: 8
    Dernier message: 25/05/2008, 14h05
  4. les taglib de struts et JBoss
    Par zambizi dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 09/12/2007, 10h13
  5. Réponses: 6
    Dernier message: 15/10/2007, 16h49

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