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

JSF Java Discussion :

[JSF] Problème outputText en cas d'erreur de validation


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut [JSF] Problème outputText en cas d'erreur de validation
    Bonjour,

    J'ai une page JSF qui me sert à modifier une "Note" (contenant un sujet, une description une date de création et un identifiant). Cette page contient deux champ input pour modifier la description et le sujet. En revanche j'affiche l'identifiant et la date directement avec un outputText (je stocke aussi une copie dans des input hidden pour test). Toute ces valeurs sont récupérés via des EL depuis un backing bean avec une portée request.

    Si je soumet le formulaire et que par exemple un champ requis manque, la même page se réaffiche avec les messages d'erreurs (que du classique). Le problème c'est que si mes champs input (description, sujet et les hidden) sont corrects et contiennent les valeurs que je viens d'entrer, en revanche les instructions "outputText" n'affichent rien (0 pour l'ID et "" pour la date).

    Quelqu'un peut-il m'expliquer ? Et comment éviter ce problème (sachant que je ne veux pas utiliser des input non éditable pour afficher l'identifiant et la date)? Est-il possible de récupérer les valeurs des mes hidden input et de les afficher via outputText?

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    Salut, ça ne serait pas dû à la portée de ton bean?
    J'ai eu le même problème il me semble, j'ai mis la portée du bean en "session" et c'était bon.

    Si c'est pas ça ton problème montre le code on y verra plus clair
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci pour cette réponse.

    Ca résout effectivement le problème mais je me pose quand même des questions de "conception": à quoi bon utiliser des request scope bean si le simple fait d'utiliser des validator (ce qui est très fréquent, ex: si j'ai un boîte de connexion qui apparaît sur toutes les pages) fait qu'on doit utiliser un session bean.

    Et ce d'autant plus qu'il (me semble t'il) est fréquent d'afficher des données depuis un bean (ex: si je stocke un titre de page dans mon bean, ou une information quelconque).

    En d'autre termes est-ce une pratique courante que d'utiliser des sessions beans pour quasiment toutes les requêtes ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Je repose ma question: quand est-ce que "devrait" être utilisé les request beans et les sessions beans, concrètement? Dès que l'on utilise des validateurs? Je ne parle évidemment pas des cas où l'on souhaites stocker des données durant toute une session utilisateur car ce cas est évident.

    Comment se fait-il que l'utilisation de validateus fassent "perdre" les informations de la requête initiale et donc d'un requestBean. Je comprend que c'est lié au "cycle de vie JSF" mais n'en voit pas bien l'interêt. En effet ça limite me semble-t'il l'interêt des request bean.

    De plus est-ce que l'utilisation des sessions beans n'alourdit pas la charge mémoire du serveur (quand on a un nombre important d'utilisateur) ?

    Quelqu'un a une réponse ?
    merci

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    Salut,
    Je suis comme toi moi aussi, je ne vois pas trop l'intérêt des request bean, si tu t'en sers il faut les récupérer dans les httpSession et tout, c'est un pti peu galère.
    Du coup j'utilise exclusivement des sessions bean, mon appli s'y prête bien de toute façons.
    Concernant la charge serveur, je n'est rien observé de notable pour le moment, ça tient le coup sur 20 utilisateurs simultanés (bon c'est pas dvp.com mais c'est le maximum pour le moment )

    Ha si j'ai un exemple de request bean (je crois)...
    Si tu veux ajouter un utilisateur à ta base de données, tu fais une page jsf où tu as des champs dans lesquels tu rentres les informations; ces informations là peuvent être entrées dans un request bean, et quand l'utilisateur valide, tu récupères le bean dans ta session, tu le traites, tu l'ajoutes à la base de données et le bean s'en va tout seul vu qu'il est en request.
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

  6. #6
    Membre confirmé

    Homme Profil pro
    Chomeur
    Inscrit en
    Juin 2006
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chomeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 347
    Points : 452
    Points
    452
    Par défaut
    Salut,

    Si il existe des beans de sessions et d'autres de requetes, c'est bien que ça sert et qu'il y a effectivement une différence en termes d'utilisation des ressources. Bitardo, si pour le moment ton appli tourne correctement avec 20 utilisateurs, tu pourais essayer de provoquer la montée en charge (il existe desoutils pour ça) et je ne serai pas etonné que tu tombe sur une erreur genre: "Java.lang.OutOfMemory: Permgen space error". Comme pour n'importe quelle appli java, la JVM ne supporte qu'un nombre limité d'objets instanciés simultanément (même si il est déjà important), et l'utilisation de bean request permet au garbage collector de faire son boulot.

    Ratamovic> dans ton exemple il semble évident qu'un bean request suffit amplement. Je ne comprends pas bien d'ou viennent l'"id" et la "date" qui disparaissent. Si tu les avais fixés dans un bean pour afficher ton formulaire pourquoi ne pas le refaire: SI toute les infos sont bonnes=> ok, SINON fixe la date et l'id et reaffiche la page.

    Dans le tutorial que j'ai posté sur mon blog je n'utilise qu'un bean request.

    Bon courage à tous les deux,
    Cordialement,
    Tif
    Signature à venir...
    Ancienne : Divers NTIC (PHP, Dojo, à venir...) : http://tif44.fr/blog/

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Moi aussi il me semble que les request bean sont appropriés. Mais je ne vois pas où est mon erreur de raisonnement (ou de codage). Effectivement charger un session bean pour chaque page (en supposant 1 page = 1 bean) ça me paraît beaucoup. Surtout si le session bean garde des référence sur des objets persistés ou autres données. Multiplié par A utilisateurs x B pages ça me paraît beaucoup.

    En fait mon bean contient divers champs. Ces champs sont affichés via des input et des outputText. Seulement si une erreur de validation survient, seul les champs inputText contiennent des valeurs (car j'imagine les valeurs sont récupérés via le POST http) mais les outputText (qui utilisent le backing bean) sont vides (comme si le request bean n'était pas rechargé où conservé). Cela semble lié au cycle de vie JSF qui outrepasse certaines phases en cas d'erreur de validation.
    J'essairai de poster un bout de code plus tard

    Merci à vous

  8. #8
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2005
    Messages
    97
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2005
    Messages : 97
    Points : 76
    Points
    76
    Par défaut
    1 page = 1 bean?
    Mon application finale comporte 5 beans (et une vingtaine de pages) en tout et pour tout, et pourtant j'ai pas mal d'action de la part des utilisateurs, des selections dans des listes, des insertions de textes, tout ça...

    Sinon pour ton problème, comme c'est un bean en request, il se recharge quand tu as fini de soumettre ton formulaire donc c'est normal que tu ais l'impression qu'il ne se remplit pas.
    essaie de le récupérer avec des httpSession direct dans ta JSP pour voir.
    Ca ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    httpSession httpsession=request.getSession();
    tonBean tonbean;
    tonbean = httpsession.getAttribute("request_bean");
    //Et après tu affiches les valeurs de ton bean pour voir si il est vide ou pas
    (coluche) Avec la capote Nestor, je suis pas né, je suis pas mort !
    Ne commentez jamais vos codes.
    Ca a été dur à écrire, ça doit être dur à lire.

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    1 page = 1 bean c'était juste une "hypothèse" de calcul. Dans la pratique effectivement on utilise frequemment le même backing bean pour plusieurs pages (c'est ce que je fait pour les opérations CRUD par ex).

    Quand je disais que je voyais pas appraître les valeurs, c'était dans le cas d'un requestBean. Avec un session ça fonctionne.

    Comme promis un exemple de code (je précise que c'est un code pour tester JSF):
    Les lignes qui ne marchent pas sont "<h:outputText value="#{bundle.ID}" />" et "<h:inputHidden value="#{listeNoteBck.note.creationDate}">".
    Par contre "<h:inputHidden value="#{listeNoteBck.note.ID}" id="idd" />" fonctionne.

    Page JSF
    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
    <?xml version="1.0" encoding="UTF-8" ?>
    <%@ page language="java" contentType="text/html; charset=UTF-8"
       pageEncoding="UTF-8"%>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Insert title here</title>
    </head>
    <body>
    <f:view>
       <h:form>
          <h:messages showSummary="false" showDetail="true" tooltip="true"
             layout="table"></h:messages>
          <h:panelGrid columns="2">
             <h:outputText value="#{bundle.ID}" />
             <h:outputText value="#{listeNoteBck.note.ID}" />
             <h:outputText value="#{bundle.Subject}" />
             <h:inputText id="subjectid" required="true"
                value="#{listeNoteBck.note.subject}">
                <f:validateLength maximum="10" />
             </h:inputText>
             <h:outputText value="#{bundle.Content}" />
             <h:inputText value="#{listeNoteBck.note.content}" />
             <h:outputText value="#{bundle.CreationDate}" />
             <h:outputText value="#{listeNoteBck.note.creationDate}">
                <f:convertDateTime type="both" dateStyle="default"
                   timeStyle="default" />
             </h:outputText>
     
             <h:inputHidden value="#{listeNoteBck.note.ID}" id="idd" />
             <!--valueChangeListener=""-->
             <h:inputHidden value="#{listeNoteBck.note.creationDate}">
                <f:convertDateTime type="both" dateStyle="default"
                   timeStyle="default" />
             </h:inputHidden>
     
             <h:commandButton value="submit" 
                action="#{listeNoteBck.majNoteAction}"
                binding="#{listeNoteBck.refCommand}">
     <f:setPropertyActionListener target="#{listeNoteBck.note.ID}" value="#{listeNoteBck.note.ID}"/>
     <f:param name="noteId" value="#{listeNoteBck.note.ID}"></f:param>
             </h:commandButton>
             <h:commandButton value="cancel" action="cancel"
                immediate="true" />
             <h:commandLink value="bidouille2" id="bidouille"
                action="bidouille" immediate="true"
                actionListener="#{listeNoteBck.bidouille}">
     <f:setPropertyActionListener target="#{listeNoteBck.note.ID}" value="#{listeNoteBck.note.ID}"/>
     <f:param name="noteId" value="#{listeNoteBck.note.ID}"></f:param>
             </h:commandLink>
          </h:panelGrid>
       </h:form>
    </f:view>
    </body>
    </html>


    Backing bean:
    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
    package noteboard.controler;
     
     
    import java.util.Date;
    import java.util.List;
     
    import javax.faces.application.FacesMessage;
    import javax.faces.component.UICommand;
    import javax.faces.component.UIData;
    import javax.faces.context.FacesContext;
    import javax.faces.event.ActionEvent;
     
    import noteboard.model.notes.Note;
    import noteboard.service.notes.INoteService;
     
     
    /**
     * TODO Class description.
     */
    public class ListeNoteBck
    {
       private INoteService mService;
       private Note         mNote;
       private List<Note>   mListeNotes;
       private String       mNoteId;
     
       private UICommand refCommand;
       private UIData dataTable;
     
       /**
        * Retrieves noteId.
        * 
        * @return noteId.
        */
       public String getNoteId ()
       {
          return mNoteId;
       }
     
     
       /**
        * Initializes noteId.
        * 
        * @param pNoteId new noteId.
        */
       public void setNoteId (String pNoteId)
       {
       // Déclaration d’un Message
          FacesMessage myFacesMessage = new FacesMessage();
          myFacesMessage.setSeverity(FacesMessage.SEVERITY_INFO);
          myFacesMessage.setSummary("MSG!!! " + pNoteId);
                        myFacesMessage.setDetail("Mon message qui ne sert à rien");
          // Transmission d’un Message
          FacesContext myFacesContext = FacesContext.getCurrentInstance();
          // null => not associated component
          myFacesContext.addMessage(null, myFacesMessage);
     
          System.out.println("MSG!!! " + pNoteId);
          if (pNoteId != null && !pNoteId.equals(""))
          {
             try
             {
                Integer.parseInt(pNoteId);
                if (mService != null)
                {
                   mNote = mService.getNote(pNoteId);
                }
             }
             catch (Exception e)
             {
                e.printStackTrace();
             }
          }
     
       }
     
       /**
        * Retrieves note.
        * 
        * @return note.
        */
       public Note getNote ()
       {
          return mNote;
       }
     
     
       /**
        * TODO Build a new instance of ListeNoteBck.
        */
       public ListeNoteBck ()
       {
          super();
          mNote = new Note();
       }
     
     
       /**
        * Retrieves listeNotes.
        * 
        * @return listeNotes.
        */
       public List<Note> getListeNotes ()
       {
          try
          {
             mListeNotes = mService.getNotes();
          }
          catch (Exception e)
          {
             e.printStackTrace();
          }
          return mListeNotes;
       }
     
     
       public String creerNoteAction ()
       {
          try
          {
             mNote.setCreationDate(new Date());
             mService.saveNote(mNote);
             return "success";
          }
          catch (Exception e)
          {
             e.printStackTrace();
             return "error";
          }
       }
     
     
       public String majNoteAction ()
       {
          System.out.println("OFF!!!"+mNote);
          try
          {
             mService.updateNote(mNote);
             return "success";
          }
          catch (Exception e)
          {
             e.printStackTrace();
             return "error";
          }
       }
     
     
       public String deleteNoteAction ()
       {
          try
          {
             mService.removeNote(mNote);
             return "success";
          }
          catch (Exception e)
          {
             e.printStackTrace();
             return "error";
          }
       }
     
       public void bidouille(ActionEvent e){
     
       }
     
       /**
        * Initializes service.
        *
        * @param pService new service.
        */
       public void setService (INoteService pService)
       {
          mService = pService;
       }
     
     
       /**
        * Retrieves refCommand.
        *
        * @return refCommand.
        */
       public UICommand getRefCommand ()
       {
          return refCommand;
       }
     
     
       /**
        * Initializes refCommand.
        *
        * @param pRefCommand new refCommand.
        */
       public void setRefCommand (UICommand pRefCommand)
       {
          refCommand = pRefCommand;
       }
    }


    Faces-Config:
    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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
       version="1.2"
    >
       <managed-bean>
          <description>ListeNote.jsp backing bean</description>
          <managed-bean-name>listeNoteBck</managed-bean-name>
          <managed-bean-class>noteboard.controler.ListeNoteBck</managed-bean-class>
          <managed-bean-scope>request</managed-bean-scope>
          <managed-property>
             <property-name>service</property-name>
             <property-class>noteboard.service.notes.INoteService</property-class>
             <value>#{NoteService}</value>
          </managed-property>
          <managed-property>
             <property-name>noteId</property-name>
             <property-class>java.lang.String</property-class>
             <value>#{param.noteId}</value>
          </managed-property>
       </managed-bean>
       <navigation-rule>
          <display-name>creerNote</display-name>
          <from-view-id>/creerNote.jsp</from-view-id>
          <navigation-case>
             <from-outcome>error</from-outcome>
             <to-view-id>/erreur.jsp</to-view-id>
          </navigation-case>
       </navigation-rule>
       <navigation-rule>
          <display-name>editNote</display-name>
          <from-view-id>/editNote.jsp</from-view-id>
          <navigation-case>
             <from-outcome>error</from-outcome>
             <to-view-id>/erreur.jsp</to-view-id>
          </navigation-case>
       </navigation-rule>
       <navigation-rule>
          <display-name>creerNote</display-name>
          <from-view-id>/creerNote.jsp</from-view-id>
          <navigation-case>
             <from-outcome>cancel</from-outcome>
             <to-view-id>/listeNote.jsp</to-view-id>
             <redirect />
          </navigation-case>
       </navigation-rule>
       <navigation-rule>
       	<display-name>
       	editNote</display-name>
       	<from-view-id>
       	/editNote.jsp</from-view-id>
       	<navigation-case>
       		<from-outcome>
       		cancel</from-outcome>
       		<to-view-id>
       		/listeNote.jsp</to-view-id>
       		<redirect />
       	</navigation-case>
       </navigation-rule>
       <navigation-rule>
       	<display-name>
       	editNote</display-name>
       	<from-view-id>
       	/editNote.jsp</from-view-id>
       	<navigation-case>
       		<from-outcome>
       		success</from-outcome>
       		<to-view-id>
       		/listeNote.jsp</to-view-id>
       	</navigation-case>
       </navigation-rule>
       <navigation-rule>
       	<display-name>
       	creerNote</display-name>
       	<from-view-id>
       	/creerNote.jsp</from-view-id>
       	<navigation-case>
       		<from-outcome>
       		success</from-outcome>
       		<to-view-id>
       		/editNote.jsp</to-view-id>
       		<redirect />
       	</navigation-case>
       </navigation-rule>
       <application>
          <message-bundle>resource.resources</message-bundle>
          <locale-config>
             <default-locale>en</default-locale>
             <supported-locale>fr</supported-locale>
          </locale-config>
          <resource-bundle>
             <base-name>resource.resources</base-name>
             <var>bundle</var>
          </resource-bundle>
     
        <locale-config>
          <default-locale>en</default-locale>
        </locale-config>
       <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
     
          <variable-resolver>org.springframework.web.jsf.DelegatingVariableResolver</variable-resolver>
          <!-- el-resolver>org.jboss.seam.ioc.spring.SpringELResolver</el-resolver-->
          <locale-config />
       </application>
    </faces-config>

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Quelqu'un sait-il comment utiliser un requestBean dans ce cas précis?

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Personne n'a de réponse ? Que je puisse passer le sujet à résolu ?

Discussions similaires

  1. Problème de redirection en cas d'erreur
    Par arno15 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 23/11/2010, 15h10
  2. Réponses: 23
    Dernier message: 19/04/2009, 16h50
  3. [RegEx] Problème d'affichage d'un else en cas d'erreur
    Par Mr[ben] dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2007, 14h04
  4. Réponses: 7
    Dernier message: 15/03/2005, 14h44
  5. Redirection en cas d'erreur sur una page
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 03/09/2004, 09h18

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