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 :

Afficher une variable créée dans une JSP


Sujet :

Struts 2 Java

  1. #1
    Membre expert
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 3 100
    Points
    3 100
    Par défaut Afficher une variable créée dans une JSP
    Bonjour,

    J'ai un objet qui contient une liste de prix, je souhaite parcourir cette liste afin d'afficher à la fin le total des prix.

    Voilà ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <s:set var="prixTotal"></s:set>
    <s:iterator value="monObjet.liste">
        <s:set var="prixTotal"><s:property value="prixReduitUTTC"/></s:set>
    </s:iterator>
    prix1 : <s:property value="prixTotal"/>
    prix2 : <s:property value="getText(formatPrix,{prixTotal})"/><s:property escapeHtml="false" value="devise"/>
    Et j'obtiens pour le prix1 une valeur par contre rien ne s'affiche pour le prix2.
    Est ce que vous savez pourquoi?

    J'en profite aussi pour vous demander comment, dans ma boucle, je pourrai ajouter le prix à mon total, j'avais essayé bêtement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:set var="prixTotal"><s:property value="prixTotal + prixReduitUTTC"/></s:set>
    Merci pour votre aide.
    dam's

  2. #2
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Salut

    essaye avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getText(formatPrix,${prixTotal})
    Pour ta 2ème question, prixtotal est définie via un set, il faut rajouter un # pour l'utiliser; Je n'ai pas testé mais tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:set var="prixTotal"><s:property value="#prixTotal + prixReduitUTTC"/></s:set>

  3. #3
    Membre expert
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 3 100
    Points
    3 100
    Par défaut
    Merci pour ton aide,

    J'ai réussit à additionner les valeurs, par contre l'affichage pose toujours problème, voici le message d'erreur que j'obtiens avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <s:property value="getText(formatPrix,${prixTotal})"/>
    org.apache.jasper.JasperException: /WEB-INF/jsps/ajax/liste.jsp(151,12) D'après la TLD, l'attribut value n'accepte aucune expression
    dam's

  4. #4
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 013
    Points : 1 381
    Points
    1 381
    Par défaut
    Oui le tag s:property n'est peut-être pas le mieux adapté, à ta place j'utiliserais plutôt le tag s:text :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <s:text name="formatPrix" >
    	<s:param>prixTotal</s:param>
    </s:text>
    ou alors une expression OGNL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    prix2 : %{getText(formatPrix,prixTotal)}<s:property escapeHtml="false" value="devise"/>
    Pas trop testé mais la solution doit être à creuser par là

  5. #5
    Membre expert
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 3 100
    Points
    3 100
    Par défaut
    Bon bah finalement je galère pas mal avec cette addition, je pense que c'est lié au faite que mes champs sont des Floats.

    Du coup j'ai utilisé une scriplet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <% 	float prixTotal = 0;
    	java.text.DecimalFormat df = new java.text.DecimalFormat("##0.00"); 
    %>
    <s:iterator value="monObjet.liste">
    	<% prixTotal += ((Float) request.getAttribute("prixReduitUTTC")).floatValue(); %>
    </s:iterator>
    <div>
    	<%=df.format(prixTotal)%><s:property escapeHtml="false" value="devise"/>
    </div>
    Si vous avez une solution plus propre, je veux bien essayer
    dam's

Discussions similaires

  1. Ecrasement d'une variable créée dans une interface graphique
    Par Adjen dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 06/11/2014, 12h40
  2. Réponses: 5
    Dernier message: 18/10/2011, 00h06
  3. Réponses: 9
    Dernier message: 23/06/2009, 10h54
  4. Réponses: 1
    Dernier message: 20/04/2007, 09h12
  5. récupérer une variable javascript dans une variable java
    Par tx dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/07/2006, 17h55

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