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 :

Sauvegarde en Struts 2


Sujet :

Struts 2 Java

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut Sauvegarde en Struts 2
    Bonjour,

    Je débute en Struts 2.
    Je voulais savoir comment s'effectue une sauvegarde en Struts 2.
    Merci d'avance !!!

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonjour,

    Pourrais-tu êtres un peut plus précis. Tu souhaites sauvegarder un fichier?

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Je tiens avant tout à vous remercier pour votre réponse !!!
    Je souhaite sauvegarder une liste de commande qui est une map.
    Je crée pour cela une fonction qui va me sauvegarder mes commandes et je sérialise mes objets.
    Mais cela ne fonctionne pas, il me donne des erreurs:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.opensymphony.xwork2.conversion.impl.XWorkConverter
    Merci !!!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Bonjour,


    Es-tu sur que tous les objets que tu place dans la sessions implémentes interface Serializable?

    Pourrait-tu nous monter un peux plus de ton code?

    Tu veux garder ta liste de commandes dans un map, et ensuite afficher cela sur une autre page a l'aide de iterator?


    N’hésite pas à mettre le code de ton exemple, pour que l'on puisse le reproduire.

    Sans plus d'information cela devient compliqué de savoir comment t'aider.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    bonjour,

    Pour sauvegarder mes commandes passées je serialize mais deux objets:

    La commande :

    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
     
    package model;
     
    import java.util.ArrayList;
    import java.io.*;
     
    public class Commande implements Serializable{
     
    	private static final long serialVersionUID = -8493897757955097072L;
     
    	public enum Etat{Attente,Preparee,Servie}; //l'etat de la commande
    	Etat e;
    	int numeroCommande; //le numero unique d'une commande
    	ArrayList<String>listesBoissons; //le numero du serveur qui a prit la commande
    	int numeroServeur;
    	int table; //represente la table servie
    	static int LASTID=0;
     
     
    public Commande (ArrayList<String> listesBoissons, int numeroServeur, int table){
    	if(LASTID==0){
    		java.text.SimpleDateFormat f =new java.text.SimpleDateFormat("ddMMyy");
    		java.util.Date date=new java.util.Date();
    		int i=Integer.valueOf(f.format(date));
    		String s=String.valueOf(i);
    		s=i+"0001";
    		LASTID=Integer.parseInt(s);
    	}
    	numeroCommande=LASTID;
    	LASTID++;
    	this.numeroServeur=numeroServeur;
    	this.listesBoissons = listesBoissons;
    	this.numeroServeur = numeroServeur;
    	this.e= Etat.Attente;	
    	this.table=table;
    }
     
    public Commande(){
    	if(LASTID==0){
    		java.text.SimpleDateFormat f =new java.text.SimpleDateFormat("ddMMyy");
    		java.util.Date date=new java.util.Date();
    		int i=Integer.valueOf(f.format(date));
    		String s=String.valueOf(i);
    		s=i+"0001";
    		LASTID=Integer.parseInt(s);
    	}
    	e=Etat.Attente;
    	numeroCommande=LASTID; 
    	LASTID++;
    	listesBoissons=new ArrayList<String>();
    	numeroServeur=-1;
    	this.table=-1;
    }
     
    /* LES GETTERS ET LES SETTERS */
     
    public Etat getE() {
    	return e;
    }
     
     
    public void setE(Etat e) {
    	this.e = e;
    }
     
     
    public ArrayList<String> getListesBoissons() {
    	return listesBoissons;
    }
     
     
    public void setListesBoissons(ArrayList<String> listesBoissons) {
    	this.listesBoissons = listesBoissons;
    }
     
     
    public int getNumeroServeur() {
    	return numeroServeur;
    }
     
     
    public void setNumeroServeur(int numeroServeur) {
    	this.numeroServeur = numeroServeur;
    }
     
    public int getNumeroCommande(){
    	return numeroCommande;
    }
     
    public void setNumeroCommande(int numeroCommande) {
    	this.numeroCommande = numeroCommande;
    }
     
    public void setTable(int table){
    	this.table=table;
    }
     
    public int getTable(){
    	return table;
    }
     
    }
    et le ModelCafe
    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
     
    package model;
     
    import java.io.Serializable;
    import java.util.AbstractCollection;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.Map;
     
    public class ModelCafe extends AbstractCollection<Commande> implements Serializable{
     
    	private static final long serialVersionUID = -8493897757955097072L;
     
     
    	ArrayList<String> boissons;
    	Map<Integer,Commande>listCommande;
    	ArrayList<Serveur>listServeur;
    	ArrayList<Integer> table;
    	private static int LAST_ID=0;
     
     
    	public ModelCafe() {
     
    		String tab[] = {"Café", "Chocolat", "Eau plate", "Eau gazeuse", "Thé", "Limonade", "Grenadine",
    				"Jus de fruit", "Coca Cola", "Oasis", "Ice Tea", "Sprite", "Porto", "Vin", "Bière"};
    		boissons = new ArrayList<String>();
    		for (String element : tab)
    			boissons.add(element);
    		listCommande = new HashMap<Integer,Commande>();
    		listServeur = new ArrayList<Serveur>();
    		table=new ArrayList<Integer>();
    		table.add(1); //table 1
    		table.add(2); //table 2
    		table.add(3); //table 3
    		listServeur.add(new Serveur("nom","prenom"));
    		listServeur.add(new Serveur("nom1","prenom1"));	
    	}
     
    	public void ajouterCommande(ArrayList<String>listBoissons, int numeroServeur, int table){		
    		listCommande.put(LAST_ID,new Commande(listBoissons, numeroServeur, table));
    		LAST_ID++;
    	}	
     
    	public ArrayList<String> getBoissons(){
    		return boissons;
    	}
     
    	public Map<Integer,Commande> getListCommande(){
    		return listCommande;
    	}
     
    	public int getSize(){
    		return listCommande.size();
    	}
     
    	public ArrayList<Serveur> getListServeur(){
    		return listServeur;
    	}
     
    	public Commande getCommandeNumero(int numeroCommande){
    		for(int i=0; i<listCommande.size();i++)
    			if(listCommande.get(i).getNumeroCommande()==numeroCommande)
    				return listCommande.get(i);
    		return null;
     
    	}
     
     
    	public ArrayList<Integer> getTable(){
    		return table;
    	}
     
    	public void setTable(ArrayList<Integer> t){
    		table=t;
    	}
     
     
    	@Override
    	public Iterator<Commande> iterator() {
    		return listCommande.values().iterator();
    	}
     
    	@Override
    	public int size() {
    		return listCommande.size();
    	}
     
    }
    Ma fonction de sauvegarde est la suivante :

    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
     
    public void save(Commande c){
    			ArrayList<Object> l= new ArrayList<Object>();
    			try{
    				try{
    					//lire le fichier
    					ObjectInputStream in=new ObjectInputStream(new FileInputStream("fichierCommande"));
    					Object o=in.readObject();
    					while(o!=null){
    						l.add(o); //ajouter l'objet dans la liste
    						o=in.readObject();
    					}
    				}
    				catch(Exception e){
    					System.out.println(e);
    				}
    				//ecrire sur le fichier
    				ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("fichierCommande"));
    				try{
    					for(int i=0; i<l.size();i++) //copie tous les objets lu precedemment
    						out.writeObject(l.get(i));
    					out.writeObject(c); //ecrire la commance c
    					out.flush(); //vider le buffer
    					System.out.println("fin ecrire");
    				}
    				finally{
    					out.close(); //fermer le buffer
    				}
    			}
    			catch(Exception e){
    				System.out.println(e);
    			}
    		}
    Lorsque la commande est passée et que l'on change son état en servie, c'est là que je fais la sauvegarde dans la fonction execute.

    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
     
    	 */
    		public String execute() throws Exception{
    			assert((ModelCafe)getSession().get("cafe")!=null&&getSession().get("cafe").getClass()==ModelCafe.class);
    			ModelCafe c=(ModelCafe)getSession().get("cafe");
    			cmd=c.getCommandeNumero(numeroCommande);
    			if (cmd.getE().equals(Etat.Preparee)){
    				c.getCommandeNumero(numeroCommande).setE(Etat.Servie);
    				save(c.getCommandeNumero(numeroCommande));
    				getSession().put("cafe", c);
    			}
    			return SUCCESS;
    		}
     
    	}
    Merci encore pour votre aide !!!

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Ta session est bien du type HttpSession?

    Tu charge ta liste à partir du fichier au début du démarrage de ton application avec un listener?

    Je te demande tout cela car j'ai besoin de reproduire le fonctionnement de ton application.

    Et ce qui représente l’univers de ton model Café tu le met dans la session au démarrage avec tout l’historial des commandes passées?

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Non, pas du tout.

    Dès que le serveur passe une commande, je l'ajoute dans la liste de commande.

    Voilà ce qui me permet d'ajouter mes commandes.
    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
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
     
    package controleur.action;
     
    import java.util.ArrayList;
    import java.util.Map;
     
    import model.Commande;
    import model.ModelCafe;
     
    import org.apache.struts2.interceptor.SessionAware;
    import com.opensymphony.xwork2.ActionSupport;
    /**
     * 
     *
     *
     */
    public class AfficheBoissons extends ActionSupport implements SessionAware{
     
    	/**
             * Permet d'afficher la liste des boissons présentes et de passer des commande.
             */
    	private static final long serialVersionUID = 1L;
     
     
    	private  ArrayList<String> boissonslistesLeft; //Arraylist contenant les boissons à commander
    	private ArrayList<Integer> listeTables; // ArrayList contenant la liste des tables
    	private ArrayList<Integer>listServeur; // ArrayList contenant la liste des serveurs
     
    	int serveur;
    	int table;
     
     
    	Map<String, Object> session;
    	Commande cmd;
    	ModelCafe mc;
     
    	/**
             * Contructeur AfficheBoissons sans paramètres dans lequel, nous initialisons nos variables
             */
    	public AfficheBoissons(){
     
    		super();
     
    		boissonslistesLeft= new ArrayList<String>(); // initialisation des boissonslistesLeft
    		listeTables = new ArrayList<Integer>(); //initialisation de listeTables
    		listServeur = new ArrayList<Integer>(); //initialisation de listServeur
    		cmd = new Commande();
     
    	}
     
     
    	/**
             * Getteur de serveur
             * @return le numéro de serveur
             */
    	public int getServeur() {
    		return serveur;
    	}
     
    	/**
             * Setter de serveur
             * @param serveur
             * Applique un nouveau numéro de serveur
             */
    	public void setServeur(int serveur) {
    		this.serveur = serveur;
    	}
     
    	/**
             * Getter de table
             * @return le numero de la table
             * 
             */
    	public int getTable() {
    		return table;
    	}
     
    	/**
             * Setter de table      
             * @param table
             * Applique un nouveau numero de table
             */
    	public void setTable(int table) {
    		this.table = table;
    	}
     
    	/**
             * Getter de l'ArrayList Liste de Serveurs
             * @return une ArrayList contenant une liste de serveurs
             */
    	public ArrayList<Integer> getListServeur() {
    		return listServeur;
    	}
     
    	/**
             * Setter de l'ArrayList Liste de Serveurs
             * @param listServeur
             * Applique une nouvelle ArrayList de serveurs
             */
    	public void setListServeur(ArrayList<Integer>listServeur) {
    		this.listServeur = listServeur;
    	}
     
    	/**
             * Getter de ListeTables
             * @return une ArrayListe de listeTables.
             */
    	public ArrayList<Integer> getListeTables() {
    		return listeTables;
    	}
    	/**
             * Setter de listeTables
             * @param listeTables
             * Applique une nouvelle ArrayList de Tables
             */
    	public void setListeTables(ArrayList<Integer> listeTables) {
    		this.listeTables = listeTables;
    	}
     
    	/**
             * Getter de session
             * @return session
             * 
             */
    	public Map<String, Object> getSession() {
    		return session;
    	}
     
    	/**
             * Setter de session
             * @param session
             * Applique une nouvelle session 
             */
    	public void setSession(Map<String, Object> session) {
    		this.session = session;
    	}
     
    	/**
             * Getter de BoissonslistesLeft
             * @return une ArrayList de boissonslistesLeft
             */
    	public ArrayList<String> getBoissonslistesLeft() {
    		return boissonslistesLeft;
    	}
     
    	/**
             * Setter de BoissonlistesLeft
             * @param boissonslistesLeft
             * Applique une nouvelle ArrayList de boissonslistesLeft
             */
    	public void setBoissonslistesLeft(ArrayList<String> boissonslistesLeft) {
    		this.boissonslistesLeft = boissonslistesLeft;
    	}
     
    	/**
             * Getter de ListesBoissons
             * @return une ArrayList de ListesBoissons
             */
    	public ArrayList<String> getListesBoissons() {
    		return cmd.getListesBoissons();
    	}
     
    	/**
             * Setter ListeBoissons
             * @param listesBoissons
             * Applique une nouvelle ArrayListe de listesBoissons
             */
    	public void setListesBoissons(ArrayList<String> listesBoissons) {
    		cmd.setListesBoissons(listesBoissons);
    	}
     
    	/**
             * Cette méthode nous permet de gérer nosn session d'afin d'ajouter
             * notre commande de boissons.
             */
    	public String execute() throws Exception {
    		ModelCafe mc=(ModelCafe)getSession().get("cafe");
    		if(mc==null){
    			mc= new ModelCafe();
    			session.put("cafe", mc);
    		}
    		else session.put("cafe", mc);
     
     
    		mc.ajouterCommande(getListesBoissons(),getServeur(),getTable());
     
    		return SUCCESS;
    	}
     
    	/**
             * Méthode qui permet de faire un affichage.
             * @return None
             * Elle affiche nos boissons à commander, nos serveurs et nos tables.
             */
    	public String display() {
     
    		mc=(ModelCafe)getSession().get("cafe");
     
    		if(mc==null){
    			mc= new ModelCafe();
    			session.put("cafe", mc);
    		}
    		else session.put("cafe", mc);
     
     
    		boissonslistesLeft=mc.getBoissons();
    		listeTables=mc.getTable();
     
    		for(int i = 0; i<mc.getListServeur().size(); i++){
    			listServeur.add(mc.getListServeur().get(i).getIdServeur());
    		}
     
    		return NONE;
    	}
     
    }
    Ensuite, il faut qu'elle passe du coté Barman pour qu'elle soit mis en préparée et par la suite repasse du coté Serveur pour que'elle soit mis en état servie et celle-là justement que je sauvegarde ma commande.
    A aucun moment, je charge ma liste.
    Non je n'utilise pas de HttpSession !!!
    Merci encore pour votre aide !!!

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Très bien, et tu peux dire ou exactement le code ne passe pas?

    Quelles sont les objet que tu mets en session que lancent l'exception?

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Bonjour,

    Voilà ce que lance l'exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.opensymphony.xwork2.conversion.impl.XWorkConverter
    java.io.NotSerializableException: com.opensymphony.xwork2.conversion.impl.XWorkConverter
    Les objets que je mets en session est le ModelCafe.

    Merci.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Peut-tu me montrer ce que tu as derrière les méthodes getSession et put.

    Tu as bien une interface JSP, j'ai mi ton object ModelCafe dans une HttpSession vu que j'utilise des servelets, et je n'est pas de problèmes...

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2006
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2006
    Messages : 226
    Par défaut
    Salut,

    est-ce que tu pourrais mettre le code qui plante dans un try/catch... les messages d'erreurs affichés par struts sont parfois "biaisés" et on a du mal à trouver le vrai problème.

  12. #12
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Je suis en Struts 2, je n'utilise pas de HttpSession, ni de servlets !!!

    Merci du temps accordé !!!

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Salut,

    Dans ma fonction save j'ai déjà mis un try catch.
    Cette même fonction lorsque je l'utilise dans ma partie Swing elle fonction.
    Je me pose la question à savoir pourquoi sous Swing, elle marche mais pas sous Struts 2.

    Voilà la fonction save:

    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
     
     
    public void save(Commande c){
    		ArrayList<Object> l= new ArrayList<Object>();
    		try{
    			try{
    				//lire le fichier
    				ObjectInputStream in=new ObjectInputStream(new FileInputStream("fichierCommande"));
    				Object o=in.readObject();
    				while(o!=null){
    					l.add(o); //ajouter l'objet dans la liste
    					o=in.readObject();
    				}
    			}
    			catch(Exception e){
     
    			}
    			//ecrire sur le fichier
    			ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream("fichierCommande"));
    			try{
    				for(int i=0; i<l.size();i++) //copie tous les objets lu precedemment
    					out.writeObject(l.get(i));
    				out.writeObject(c); //ecrire la commance c
    				out.flush(); //vider le buffer
    			}
    			finally{
    				out.close(); //fermer le buffer
    			}
    		}
    		catch(Exception e){
    			System.out.println(e);
    		}
     
    	}

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 277
    Par défaut
    Derrière Struts 2 se sont des servelet, dans une action à partir de la request tu peut obtenir la session. J'utilise aussi struts 2 et ça marche, après je te conseille de faire kakashi99 pour voir ou ton code plante.

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 33
    Par défaut
    Je sais pas si c'est ça que vous me demandez mais voilà ce que j'obtiens.

    Lignes ajoutées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    HttpServletRequest request = ServletActionContext.getRequest();
     
    			System.out.println("ma session" +" "+ request.getSession());
    Et voila le résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ma session org.apache.catalina.session.StandardSessionFacade@617e53c9

Discussions similaires

  1. [Struts-Layout] sauvegarde d'un form dynamique
    Par benneb dans le forum Struts 1
    Réponses: 2
    Dernier message: 27/01/2008, 18h49
  2. Sauvegardes
    Par tastalian dans le forum DirectX
    Réponses: 12
    Dernier message: 15/10/2002, 01h30
  3. [ADO] Sauvegarde / lecture de recordset
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2002, 16h54
  4. Sauvegarder une surface dans un fichier
    Par Freakazoid dans le forum DirectX
    Réponses: 6
    Dernier message: 18/08/2002, 15h23
  5. [Kylix] Sauvegarde de donnée utilisateur....
    Par Eclypse dans le forum EDI
    Réponses: 1
    Dernier message: 11/05/2002, 17h21

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