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

Servlets/JSP Java Discussion :

JSP qui affiche son nom (de fichier)


Sujet :

Servlets/JSP Java

  1. #1
    Membre du Club
    Homme Profil pro
    Formateur Android, Kotlin Java
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Android, Kotlin Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 44
    Points
    44
    Par défaut JSP qui affiche son nom (de fichier)
    Bonjour,

    je souhaite mettre en place un moyen que chaque JSP qui est utilisée affiche son nom dans le code source de la page (en commentaire.)

    Un simple
    <!-- JspName = jsp1.jsp --> dans le fichier résoudrait le problème.

    Mais faire ça fois 80 fichiers... je peux me permettre un peu de réflexion pour faire de l'introspection.

    Mais je ne vois pas trop comment faire ça soit en JSP soit en javascript.
    Si quelqu'un à une idée. Je suis ouvert à réflexion .

    Merci

    Les config que j'utilise si besoin
    Struts 1.X, tomcat, xdoclet, tiles, Eclipse helios.

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Vois pas comment. Tu vas devoir le saisir à la mano

  3. #3
    Membre du Club
    Homme Profil pro
    Formateur Android, Kotlin Java
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Android, Kotlin Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 44
    Points
    44
    Par défaut
    J'ai pas trouvé non plus. Je l'ai fais à la main du coup.

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Tu peux partir sur un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%="<!--" + this.getClass().getName().substring(this.getClass().getName().lastIndexOf(".")+1) + "-->" %>
    (il faudrait faire un traitement sur le "_" de fin pour le remplacer par ".")

    Quel est l'intérêt si je peux me permettre ?

  5. #5
    Membre du Club
    Homme Profil pro
    Formateur Android, Kotlin Java
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Android, Kotlin Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 44
    Points
    44
    Par défaut
    Merci, je testerai quand j'aurai le temps.

    L’intérêt est que dans le projet il y a énormément d'inclusion et de jsp.
    Et que quand on montre qu'il faut modifier ca ou ca sur un ecran cela me permet de voir directement quel Jsp est concerné en regardant le code source de la page.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Je te conseille un taglib pour ce traitement...
    Exemple
    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
     
    package un.package;
     
    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.tagext.TagSupport;
     
    public class PageNameTag extends TagSupport
    {
        public static final long serialVersionUID = 1;
     
        @Override
        public int doEndTag() throws JspException
        {
            try
            {
                Object object = pageContext.getAttribute("javax.servlet.jsp.jspPage");
                String name = object.getClass().getSimpleName();
                int p = name.lastIndexOf("_");
                if (p != -1)
                {
                    name = name.substring(0, p) + "." + name.substring(p+1);
                }
                pageContext.getOut().write("<!-- " + name + " -->");
            }
            catch (Exception e) {}
            return super.doEndTag();
        }
    }
    Ne pas oublier le fichier tld (mesTags.tld dans /WEB-INF/)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN"
                            "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
        <tlibversion>1.1</tlibversion>
        <jspversion>1.1</jspversion>
        <shortname>cy-dsi</shortname>
     
        <tag>
            <name>page</name>
            <tagclass>un.package.PageNameTag</tagclass>
        </tag>
    </taglib>
    Et dans tes pages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ...
    <%@ taglib uri="/WEB-INF/mesTags.tld" prefix="mt"%>
    ...
    <mt:page/>
    ...

  7. #7
    Membre du Club
    Homme Profil pro
    Formateur Android, Kotlin Java
    Inscrit en
    Juillet 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Android, Kotlin Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 60
    Points : 44
    Points
    44
    Par défaut
    merci pour le détail de la réponse.

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    je t'en prie...

    Je trouve que les taglib sont trop peu utilisées, c'est super simple à mettre en oeuvre et ça standardise les traitements (en plus de simplifier les pages)

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Juste une remarque : le nom de la classe des JSP peut varier selon le moteur...



    Sinon les taglibs sont très bien, mais dans ce cas particulier il y a peut-être un meilleur choix via les prelude/coda qui permettent d'inclure un fichier dans toutes les JSP.
    Pour cela il faut raouter ceci dans le web.xml :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<jsp-config> 
    		<jsp-property-group>
    			<url-pattern>*.jsp</url-pattern>
    			<include-prelude>/WEB-INF/jsp-prelude.jsp</include-prelude>
    			<include-coda>/WEB-INF/jsp-coda.jsp</include-coda>
    		</jsp-property-group> 
    	</jsp-config>
    On peut bien sûr changer le nom des JSP ou utiliser seulement le "prelude" ou le "coda".

    Le fichier "prelude" sera alors ajouté automatiquement au début de toutes les JSP, et le "coda" sera ajouté à la fin.



    a++

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    Je ne connaissais pas cette technique, du coup, j'ai testé... et ça ne fonctionne pas
    D'après ce que j'ai compris, ça devrait inclure un fragment au début ou à la fin d'une page mais chez moi, rien ne se fait... Il y a un truc ?

    J'utilise Tiles, en pratique, je n'en ai pas besoin, mais pour le test...
    Pour la config, je suis parti de ton exemple et j'ai créé les 2 fragments.

    [EDIT]

    Rectificatif, ça fonctionne, mais que sur les pages JSP (pures) pas sur les sorties Tiles

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/03/2008, 13h54
  2. comment afficher les noms de fichiers specifiques
    Par pictree dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 20/03/2008, 16h55
  3. Diaporama en Javascript: afficher le nom du fichier
    Par Irlandais dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 30/01/2008, 07h54
  4. [Excel] Bouton qui perd son nom
    Par steps5ive dans le forum Excel
    Réponses: 2
    Dernier message: 21/03/2007, 13h42
  5. Réponses: 4
    Dernier message: 03/02/2006, 18h02

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