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 :

[Struts][Logic][Equal] Espaces surnuméraires ...


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 65
    Points : 74
    Points
    74
    Par défaut [Struts][Logic][Equal] Espaces surnuméraires ...
    Bonjour,

    J'ai regardé la FAQ, je n'ai pas trouvé de réponse à ma question. Au besoin, n'hésitez pas à me montrer ce que j'ai manqué.

    Voila mon problème.

    Sachant que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SqualeWebConstants.SELECTED_SUBPROJECT_KEY=selected.subproject
    CommonMessages.getString(SqualeWebConstants
    .SUBPROJECT_PROFILE_CPP)=cpp
    et que mon Bean a une propriété "profile".

    Si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <logic:equal name="<%=SqualeWebConstants.SELECTED_SUBPROJECT_KEY%>"
    property="profile" scope="session"
    value="<%=(CommonMessages.getString(SqualeWebConstants
    .SUBPROJECT_PROFILE_CPP)).trim()%>">
      <%
      out.print("equal");
      %>
    </logic:equal>
    rien ne s'affiche.

    Par contre, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String myProfile=((CreateSubProjectForm)(request.getSession()
    .getAttribute("subproject.selected"))).getProfile();
    if(CommonMessages.getString(SqualeWebConstants
    .SUBPROJECT_PROFILE_CPP).equals(myProfile)){
      out.print("equal");
    }
    Alors "equal" s'affiche.

    En fait, il semblerait que le tag logic "ajoute" un espace devant et derrière ma variable. En effet, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%out.print("-->");%>
    <bean:write name="<%=
    SqualeWebConstants.SELECTED_SUBPROJECT_KEY%>"
    property="profile" />
    <%out.print("<--");%>
    je vois écrit : " cpp " au lieu de "cpp". (sans les guillemets bien sur).

    Même résultat si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <bean:define id="maVar"name="<%=SqualeWebConstants
    .SELECTED_SUBPROJECT_KEY%>" property="profile"
    type="java.lang.String"/>
    <bean:write name="maVar" />
    qqn aurait-il une idée ?

  2. #2
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut Re: [Struts][Logic][Equal] Espaces surnuméraires ...
    Citation Envoyé par pimousse76
    En fait, il semblerait que le tag logic "ajoute" un espace devant et derrière ma variable. En effet, si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <%out.print("-->");%>
    <bean:write name="<%=
    SqualeWebConstants.SELECTED_SUBPROJECT_KEY%>"
    property="profile" />
    <%out.print("<--");%>
    je vois écrit : " cpp " au lieu de "cpp". (sans les guillemets bien sur).

    Même résultat si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <bean:define id="maVar"name="<%=SqualeWebConstants
    .SELECTED_SUBPROJECT_KEY%>" property="profile"
    type="java.lang.String"/>
    <bean:write name="maVar" />
    qqn aurait-il une idée ?
    C'est probablement un problème d'interprétaion HTML de ton navigateur. La plupart des navigateurs voeint un saut de ligne (New Line) comme un espace. Contrôle si le code HTML généré est le suivant:

    Bien le bonjour chez vous
    Jowo

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 65
    Points : 74
    Points
    74
    Par défaut
    bien vu ... struts a rajouté des sauts de ligne et non des espaces....
    bon ça me dit pas plus comment m'en sortir ...

  4. #4
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Pour les espaces surnuméraires, il faut écrire que le code HTML soit une ligne. Donc ça nécessite un contrôle du saut de ligne.

    Pour ton cas, essaye d'écrire sur une seule ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <%out.print("-->");%> <bean:write name="<%= 
    SqualeWebConstants.SELECTED_SUBPROJECT_KEY%>" 
    property="profile" /> <%out.print("<--");%>
    Si tu as de nombreux cas de ce genre, je te conseille soit d'écrire une balise qui gère les saut de lignes dans son corps (contrôle avant si cette taglib n'existe pas quelque part).

    Exemple de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <tg:myBalise>
    <%out.print("-->");%> 
    <bean:write name="<%= 
    SqualeWebConstants.SELECTED_SUBPROJECT_KEY%>" 
    property="profile" /> 
    <%out.print("<--");%>
    <tg:myBalise>
    donne en sortie: -->cpp<--

    attention aux caractères < et > dans une page HTML.
    Bien le bonjour chez vous
    Jowo

  5. #5
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 65
    Points : 74
    Points
    74
    Par défaut
    ok pour ce pble d'espaces lors d'un bean:write.
    c'est qd même sacrément reloud pour écrire du code lisible. mais bon.

    nb : ça règle aussi le pble pour le logic:equal.

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

Discussions similaires

  1. [Struts] Problème avec logic:equal
    Par Sniper37 dans le forum Struts 1
    Réponses: 9
    Dernier message: 03/03/2011, 15h32
  2. [debutant][struts]: utilisation du tag <logic:equal ...&g
    Par sleepy2002 dans le forum Struts 1
    Réponses: 13
    Dernier message: 23/11/2006, 17h04
  3. [struts] logic:equal
    Par SrK dans le forum Struts 1
    Réponses: 5
    Dernier message: 03/05/2006, 10h26
  4. [Struts] logic equal
    Par Sniper37 dans le forum Struts 1
    Réponses: 5
    Dernier message: 29/12/2005, 11h02
  5. [Struts] <logic:equal> pb avec value ?
    Par Pwill dans le forum Struts 1
    Réponses: 3
    Dernier message: 03/06/2005, 09h57

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