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 :

probleme affichage vector


Sujet :

Struts 1 Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 31
    Par défaut probleme affichage vector
    Bonjour a tous

    je dois utiliser les struts pour un projet. Pour l'instant tout ce qui est validation de formulaire ca marche tres bien (exemple validation d'un compte client)

    Par contre des lors que je dois afficher par exemple une collection d'objet en l'occurence des pizzas. je n'y arrive pas:

    ce ke j'obtiens 16 17 com.eppizza.struts.source.Pizza@10ff62a

    c'estr a dire l'adresse memoire.

    mon code est le suivant:


    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    //struts-config.xml
    <form-bean name="collectionForm" type="com.epizza.struts.form.CollectionForm" />
    	<form-bean name="Pizza" type="com.epizza.struts.source.Pizza">
                <form-property name="nom" type="java.lang.String" />
                <form-property name="prix" type="java.lang.String" />
            </form-bean>
     
     
    <action
                attribute="collectionForm"
                input="/form/collection.jsp"
                name="collectionForm"
                path="/collection"
                type="com.epizza.struts.action.CollectionAction" />
            <action path="/collection2" type="com.epizza.struts.action.Collection2Action" />
     
     
     
    //form
     
    Vector v = new Vector();
    	Vector v2 = new Vector();
    	Vector v3 = new Vector();
     
    	int i = 0;
     
    	public CollectionForm() {
    		v.add("16");
    		v.add("17");
    		Pizza mapizza = new Pizza("calzone", "3");
    		v.add(mapizza);
    	}
     
    	public Vector getV() {
    		if (i == 0)
    			v2.add("19");
    		else
    			v2.add("21");
    		i++;
    		return v;
    	}
     
    	public Vector getV2() {
    		return v2;
    	}
    	public Vector getV3() {
    		return v3;
    	}
     
    	public void setV(Vector v) {
    		//this.v = v;
    	}
     
    //action
     
    public ActionForward execute(
    		ActionMapping mapping,
    		ActionForm form,
    		HttpServletRequest request,
    		HttpServletResponse response)
    		throws Exception {
    			CollectionForm collectionForm = (CollectionForm) form;
    			ActionForward resultat = (mapping.findForward("succes"));
    			return resultat;
    	}
     
     
    //pizza
    /*
     * Created on 19 nov. 2006
     *
     * To change the template for this generated file go to
     * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
     */
    package com.epizza.struts.source;
     
    /**
     * @author Administrateur
     *
     * To change the template for this generated type comment go to
     * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
     */
    public class Pizza {
    	String nom;
    	String prix;
     
     
     
     
    	/**
             * 
             */
    	public Pizza(String nom,String prix) {
    		this.nom = nom;
    		this.prix = prix;
    	}
     
    	/**
             * @return
             */
    	public String getNom() {
    		return nom;
    	}
     
    	/**
             * @return
             */
    	public String getPrix() {
    		return prix;
    	}
     
    	/**
             * @param string
             */
    	public void setNom(String string) {
    		nom = string;
    	}
     
    	/**
             * @param string
             */
    	public void setPrix(String string) {
    		prix = string;
    	}
     
    }
     
     
     
    //jsp
     
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> 
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> 
    <html> 
    	<head>
    		<meta name = "Generator" content = "Easy Struts Xslt generator for Eclipse (http://easystruts.sf.net).">
     
    		<title>Struts Form for collectionForm</title>
    	</head>
    	<body>
    		<html:form action="/collection.do">
    			<logic:iterate id="toto" name="collectionForm" property="v">
    				<bean:write name="toto"/>
    				<logic:iterate id="pizza" name="collectionForm" property="v3">
    					<bean:write name="pizza" property="nom"/>
    				</logic:iterate>
    			</logic:iterate> 
    		</html:form>
     
     
    	<body>
    </html>

    G recuperer un exemple similaire sur internet ke g modifier.
    Ce ke j'obtient c'est l'adresse memoire pour <bean:write name="pizza" property="nom"/>.

    De plus j'avais quelques questions:
    dans ma page jsp je suis obliger de mettre <html:form action="/collection.do"> autrement mon bean n'est pas reconnue alors que je ne veut pas faire de formulaire.Comment faut t'il faire

    de plus j'ai vu sur le forum que beaucoup de personne enregistraient des vectors en session mais je me demandais si dans la page jsp il y avait une methode pour instancier un bean.

    J'espere ke j'ai été a peu pres clair dans mes questions

    Merci pour votre aide

  2. #2
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Par défaut
    Bonjour !

    Tout d'abord, ce que tu sembles vouloir dans ta 2° question, c'est afficher une JSP sans traitement, je te renvoies donc ici (si j'ai bien compris la question) :

    Comment définir une action qui n'a pas besoin de traitements particuliers; seulement une page JSP à afficher ?

    Ensuite, pour ta 3° question, l'instantiation de Bean, quel est ton besoin ? Une balise <bean:define> peut peut-être t'aider, mais que veux-tu faire ?

    Enfin, pour l'affichage de Vector, ote-moi d'un doute : nulle part dans ton code on ne te vois remplir ton Vector v3. Alors que ta JSP demande bien l'affichage de cette propriété-là et non pas de v ou v2 !

    HTH

    AlienQueen

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 31
    Par défaut
    c bon ca marche en faite je comprenais mal le principe des bean et je melangais les actionForms et les beans.

    j'ai bien fait des bean define

    Par contre je dois gerer un panier avec des sessions. Pour initialiser la collection pas de probleme ainsi que pour ajouter les articles commander.

    Mon probleme est le suivant je ne vois pas comment afficher le panier sur une page jsp.

    comment je vais recupérer cette variable.

    Une autre question concernant les struts

    dans un formulaire un client doit renseigner un numero de telephone et code postal.

    comment dans mon actionForm je peux verifier que l'utilisateur a entrer des caractere numerique et des une longueur précise.

    Pour l'instant mes deux champs dans mon actionForm sont des strings

    et j'arrive a savoir la longueur avec monString.lengh() mais pour savoir qu'il est numerique je sais pas la solution.

    merci

  4. #4
    Membre averti
    Inscrit en
    Novembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 50
    Par défaut
    Se serait bien que tu mettes deux questions dans deux fils !

    Tu veux faire de la validation de formulaires ? Struts-validator !

    Quant à ton panier ? Il est dans le même Bean que le formulaire ? Si oui, tu l'affiches dans ta JSP comme tu as affiché ton Vector pizza.

    Sinon, tu as le même problème que moi : tu veux avoir plusieurs Beans dans le même formulaire. Cf. mon fil du même nom.

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

Discussions similaires

  1. Probleme affichage de mon site
    Par Braq dans le forum Webdesign & Ergonomie
    Réponses: 15
    Dernier message: 10/08/2005, 14h08
  2. problem affichage avec HTML::TableExtract
    Par rootdaoud dans le forum Web
    Réponses: 2
    Dernier message: 04/07/2005, 19h35
  3. Probleme affichage noir quand Build/Compile
    Par balabi dans le forum MFC
    Réponses: 3
    Dernier message: 01/06/2005, 16h12
  4. Probleme affichage dans tableau selon requête
    Par moulette85 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 01/03/2005, 15h44
  5. probleme avec vector
    Par venomelektro dans le forum SL & STL
    Réponses: 16
    Dernier message: 16/08/2004, 23h39

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