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 :

Syntaxe à utiliser


Sujet :

Servlets/JSP Java

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

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut Syntaxe à utiliser
    Bonjour,
    La syntaxe suivante fonctionne correctement:
    <%=helper.getProperty("Test")%>
    Comment pourais je remplacer la constante Test par le contenue d'une variable, j'ai testé la syntaxe ci-dessous mais ca ne fonctionne pas:

    "<%=helper.getProperty("<%=test_var%>")%>/>

    Est ce que quelqu'un peut me debloquer pour que ca fonctionne ? c'est comme ci le dernier %> n'est pas reconnue.
    Merci d'avance.

  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
    <%=helper.getProperty(test_var)%>

    tout simplement, pourquoi se compliquer la vie?

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

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Merci tchize_ mais en faite voila ce que je voudrais faire:

    title = <%=helper.getProperty("{<%=custom_field%>[@<%=attribute1%>='<%=attribute2%>']/@<%=attribute3%>}")%>/>

    Et avec ça, ça ne fonctionne pas, quelqu'un peut m'aider pour que ca fonctionne

  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
    on ne met pas du jsp dans du jsp. Quand tu écrit <% ou <%= tu commence ton scriptlet jsp. Un fois commencé, à l'intérieur, c'est simplement du code java, et rien d'autre (donc pas d'autres scriptlets dedans).

    Pour reprendre ton exemple, a supposer que le title= est aussi dans un scriptlet, tu peux écrire tout simplement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    title = helper.getProperty("{"+custom_field+"[@"+attribute1+"='"+attribute2+"']/@"+attribute3+"}")
    ou, pour rendre ce bazard plus lisible:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    title = helper.getProperty(String.format("{%s[@%s='%s']/@%s}",custom_field,attribute1,attribute2,attribute3))

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Voila pour plus d'information, ci dessous un code qui est fonctionnel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img align="center" name="FolderException" src="<%=request.getContextPath()%>/images/firegreen.png" title="{<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>}"/>
    et moi ce que je voudrais c'est de récupérer la valeur traduite pour title selon la langue à partir d'un fichier properties.

    En modifiant le code du title par le code ci dessous ça ne fonctionne plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "<%=helper.getProperty("{"+custom_field+"[@"+attributName+"='"+exceptionBalise+"']/@"+attributValue+"}")%>"
    A ce moment là j'ai l'impression que le title essaye d’exécuter le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=helper.getProperty("{field[@name='dossierException']/@value}")%>
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=helper.getProperty("EXCELLENT") %>
    une idée ?
    Merci d'avance.

  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
    Citation Envoyé par darkwalker Voir le message

    A ce moment là j'ai l'impression que le title essaye d’exécuter le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=helper.getProperty("{field[@name='dossierException']/@value}")%>
    Ce qui est ta demande de départ (cf plus haut)
    au lieu de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%=helper.getProperty("EXCELLENT") %>
    Etant donné qu'il s'agit manifestement d'une expression xpath, ben tu dois l'appliquer sur ton document xml (qu'on ne sait pas d'où il viens) pour en récupérer la valeur.

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

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    J'ai rajouté une variable qui va contenir la bonne valeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="test1" select="<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>" />
    1- en effectuant un j'ai la bonne valeur qui s'affiche.
    2- le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    title="<%=helper.getProperty("EXCELLENT")%>"
    retourne la bonne valeur
    En effectuant l'appel suivant ca marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    title="<%=helper.getProperty("{$test1}")%>"
    Il doit y avoir une erreur de Syntax !!!!!

  8. #8
    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
    J'ai l'impression que tu mélange tout là. Tu pourrais nous donner le code complet de ta jsp? Parce que, pour ce que j'en vois, j'ai l'impression que tu a un xsl généré dynamiquement par jsp, qui est ensuite appliqué par le browser sur un xml. Trop tard à priori à ce moment là pour renvoyer ça dans dans une fonction helper du serveur.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    Voici une partie du code, car la page jsp fait 1350 lignes de code:

    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
    <td class="<%=styleCell%>" width="60"  rowspan="2">
    	<input name="entity_<%=numId%>"   title="{<%=custom_field%>[@<%=attributName%>='<%=checkid%>']/@<%=attributValue%>}"  value="{<%=custom_field%>[@<%=attributName%>='<%=checkValue%>']/@<%=attributValue%>}"  id="entity_<%=computedId%>"  type="checkbox" etat="{<%=custom_field%>[@<%=attributName%>='<%=attributStatus%>']/@<%=attributValue%>}" integrity="{<%=custom_field%>[@<%=attributName%>='<%=integrityColumn%>']/@<%=attributValue%>}"  onclick="<%=checkboxFunct%>" family="<%=familyName%>"/>
    	<%
                    if (Boolean.parseBoolean(display)) {
            %>
    		<xsl:param name="masterFlag" select="number(<%=custom_field%>[@<%=attributName%>='M_FLAG']/@<%=attributValue%>)" />
    		<xsl:if test="$masterFlag &gt; 0">
    		<img align="center" src="<%=request.getContextPath()%>/CopyM.png"/>
    		</xsl:if>
    	    <%
                }
                if (Boolean.parseBoolean(qualityFlagDisplay)) {
                %>
     
    		<xsl:param name="qualityFlag" select="number(<%=custom_field%>[@<%=attributName%>='<%=qualityBalise%>']/@<%=attributValue%>)" />
    		    <xsl:if test="$qualityFlag = 0">
    		        <img align="center" name="DossierException" src="<%=request.getContextPath()%>/firered.png" title="{<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>}"/>
    		    </xsl:if>
    		    <xsl:if test="$qualityFlag = 1">
    		        <img align="center" name="DossierException" src="<%=request.getContextPath()%>/fireyellow.png" title="{<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>}"/>
    		    </xsl:if>
    		    <xsl:if test="$qualityFlag = 2">
    		        <img align="center" name="DossierException" src="<%=request.getContextPath()%>/firegreen.png" title="{<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>}"/>
    		    </xsl:if>
    		<%
                    }
                    %>
    </td>
    Ce que je souhaite c'est de recuperer le label du Title à partir d'un fichier properties selon la langue, c'est la raison pour laquel je souhaite utilisé un helper.getProperty

  10. #10
    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
    c'est quoi ce mélange entre du jsp, du xsl et du html?

    Pour ce que j'en vois tu utilise du jsp pour générer du xsl qui lui même va générer du html. C'est loin d'être lisible et performant. En tout cas comme ton "test1" se trouve au niveau du xsl, il est trop tard pour aller utiliser helper. Ce n'est pas possible.

    Franchement tu devrais revoir ton bordel et générer directement le html plutot que de passer par la phase intermédiaire du xsl.

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 23
    Par défaut
    C'est bon ca fonctionne, pour ceux que ca peut aider:
    J'ai déclaré une variable xsl qui contient la valeur du fichier xml et ensuite je fais appel à une methode java en lui passant la valeur en parametre pour me retourner la valeur traduite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="var" select="<%=custom_field%>[@<%=attributName%>='<%=exceptionBalise%>']/@<%=attributValue%>" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:variable name="varLabel" select="java:com.test.action.PerformAction.getLabel($var)"/>
    et faut pas oublié d'importer la classe au niveau de la JSP

    Merci tchize_ pour ton support

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

Discussions similaires

  1. syntaxe, utilisation ADDTIME
    Par noobC dans le forum Langage SQL
    Réponses: 4
    Dernier message: 05/09/2008, 15h49
  2. Réponses: 3
    Dernier message: 20/08/2008, 13h38
  3. dotnet 2.0 ou 3.0 et syntaxe utilisable
    Par Papy214 dans le forum Linq
    Réponses: 4
    Dernier message: 23/06/2008, 15h33
  4. [Syntaxe] utilisation d'une fonction dans mysql
    Par mussara dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/04/2007, 19h40
  5. Réponses: 2
    Dernier message: 27/09/2006, 10h37

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