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 :

Pb enregistrement dans 1 base


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut Pb enregistrement dans 1 base
    Salut à tous,

    Voilà mon souci:j'ai une application qui doit permettre aux nouveaux arrivant de s'enregistrer à partir d'un formulaire.Ma jsp est censé appele mon action qui enregistre sur ma base les données puis forward vers une nouvelle jsp,sinon si l'enregistrement ne s'effectue pas pour X ou Y raisons forward vers une autre jsp.Sauf que l'a je reste toujours sur mon formulaire,j'en déduis que mon action n'est pas appele ou ne fonctionne pas!Ou alors est-ce que ça viens de ma jsp?

    voici ma jsp:
    <html:form action="/ClientAddSubmit" method="POST">
    <table align="center">
    <tr>
    <td>Mme<html:radio property="titre" value=""/>
    M<html:radio property="titre" value=""/>
    </td>
    </tr>
    <tr>
    <td>Nom:</td>
    <td><html:text property="nom"/>
    <html:errors property="nom"/></td>
    </tr>
    <tr>
    <td>Prenom:</td>
    <td><html:text property="prenom"/>
    <html:errors property="prenom"/></td>
    </tr>
    <tr>
    <td>Login:</td>
    <td><html:text property="login"/>
    <html:errors property="login"/></td>
    </tr>
    <tr>
    <td>MotDePasse:</td>
    <td><html:password property="pwd"/>
    <html:errors property="pwd"/></td>
    </tr>
    <tr>
    <td>Confirmation:</td>
    <td><html:password property="confpwd"/>
    <html:errors property="confpwd"/></td>
    </tr>
    <tr>
    <td>Adresse:</td>
    <td><html:text property="adresse"/>
    <html:errors property="adresse"/></td>
    </tr>
    <tr>
    <td>Ville:</td>
    <td><html:text property="ville"/>
    <html:errors property="ville"/></td>
    </tr>
    <tr>
    <td>CodePostale:</td>
    <td><html:text property="codepostale"/>
    <html:errors property="CodePostale"/></td>
    </tr>
    <tr>
    <td>Tel:</td>
    <td><html:text property="tel"/>
    <html:errors property="tel"/></td>
    </tr>
    <tr>
    <td>Mail:</td>
    <td><html:text property="mail"/>
    <html:errors property="mail"/></td>
    </tr>
    <tr align="center">
    <td></td><td>
    <html:submit><bean:message key="button.ajout" /></html:submit>
    <html:reset property="annuler"/>
    <html:button property="back" value="Annuler" onclick="history.back();"/></td>
    </tr>
    </table>
    </html:form>

  2. #2
    Membre confirmé Avatar de dedeloux
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 104
    Par défaut
    Salut,
    je crois que quand tu déclares ton form tu dois mettre en action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:form action="/ClientAddSubmit.do" method="POST">
    Sans cela, tu n'appelles pas ta servlet qui doit rediriger tes actions.

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Par défaut
    Bonjour,

    1. Dans ton fichier struts-config.xml as-tu bien spécifié les "forward" associés à ton action "ClientAddSubmit" ?
    2. Dans la servlet associée à ton Action ClientAddSubmit, il faut que tu renvoies vers un des forward spécifié dans ton fichier struts-config.xml à l'aide de la fonction findForward de la classe ActionMapping.

    Un extrait de ton fichier struts-config.xml et de ta servlet associée à l'action ClientAddSubmit nous permettrait de t'aider.

  4. #4
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    Salut,
    je crois que quand tu déclares ton form tu dois mettre en action :
    Code :

    <html:form action="/ClientAddSubmit.do" method="POST">

    Sans cela, tu n'appelles pas ta servlet qui doit rediriger tes actions.
    je ne pense pas car j'ai fait pareil pour ma page login.jsp et ça fonctionne.

    Voici mon fichier struts,je pense avoir spécifier comme il fallait:
    <form-beans >
    <form-bean name="loginForm" type="com.Artois.struts_class.form.loginForm" />
    <form-bean name="ClientAddForm" type="com.Artois.struts_class.form.ClientAddForm" />
    </form-beans>

    <global-exceptions />
    <global-forwards >
    <forward name="Accueil" path="/Accueil.do" redirect="false"/>
    <forward name="login" path="/login.do" redirect="false"/>
    <forward name="ClientAdd" path="/ClientAdd.do" redirect="false"/>

    </global-forwards>

    <action-mappings >
    <action forward="/jsp/pages/Accueil.jsp" path="/Accueil" />
    <action forward="/jsp/pages/login.jsp" path="/login" />
    <action forward="/jsp/pages/clientAdd.jsp" path="/ClientAdd" />
    <action
    attribute="loginForm"
    input="/jsp/pages/login.jsp"
    name="loginForm"
    path="/loginSubmit"
    scope="request"
    type="com.Artois.struts_class.action.loginSubmit">
    <forward name="echec" path="/jsp/pages/Accueil.jsp" contextRelative="true"/>
    <forward name="success" path="/jsp/pages/espaceClient.jsp" contextRelative="true"/>
    </action>
    <action
    attribute="ClientAddForm"
    input="/jsp/pages/clientAdd.jsp"
    name="ClientAddForm"
    path="/ClientAddSubmit"
    scope="request"
    type="com.Artois.struts_class.action.ClientAddSubmit">
    <forward name="echec" path="/jsp/pages/Accueil.jsp" contextRelative="true"/>
    <forward name="success" path="/jsp/pages/espaceClient.jsp" contextRelative="true"/>
    </action>
    </action-mappings>

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    et voici mon action:
    public class ClientAddSubmit extends Action {

    // --------------------------------------------------------- Instance Variables

    // --------------------------------------------------------- Methods
    protected void insertUser(ActionForm form)
    throws Exception,SQLException{

    String user = null;
    Connection conn = null;
    Statement stmt = null;
    ResultSet rs = null;

    /*ServletContext context = servlet.getServletContext();
    DataSource dataSource = (DataSource)
    context.getAttribute(Action.DATA_SOURCE_KEY);*/
    DataSource dataSource = (DataSource)
    servlet.getServletContext().getAttribute(Action.DATA_SOURCE_KEY);
    System.out.println("Debuttry");
    try{
    ClientAddForm cForm = (ClientAddForm) form;
    conn = dataSource.getConnection();
    stmt = conn.createStatement();
    System.err.println("Test");
    StringBuffer sqlString = new StringBuffer("insert into client");

    sqlString.append("values (\"2" + "\",");

    sqlString.append("values (\""
    + cForm.getTitre() + "\",");
    sqlString.append("values (\""
    + cForm.getNom() + "\",");
    sqlString.append("values (\""
    + cForm.getPrenom() + "\",");
    sqlString.append("values (\""
    + cForm.getLogin() + "\",");
    sqlString.append("values (\""
    + cForm.getPwd() + "\",");
    sqlString.append("values (\""
    + cForm.getAdresse() + "\",");
    sqlString.append("values (\""
    + cForm.getVille() + "\",");
    sqlString.append("values (\""
    + cForm.getCodepostale() + "\",");
    sqlString.append("values (\""
    + cForm.getMail() + "\",");

    stmt.execute(sqlString.toString());
    System.out.println(sqlString);
    }
    finally{
    if (rs != null){
    rs.close();
    }
    if (stmt != null){
    stmt.close();
    }
    if(conn != null){
    conn.close();
    }
    }System.out.println("Fintry");
    }
    /**
    * Method execute
    * @param mapping
    * @param form
    * @param request
    * @param response
    * @return ActionForward
    */
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response)
    throws IOException ,ServletException {

    //Cible par défaut en cas de succès
    String target = new String ("success");
    System.out.println("Debuttry1");
    try{
    insertUser(form);
    }
    catch (Exception e){
    System.err.println("Setting target to error");
    target = new String("error");
    ActionErrors errors = new ActionErrors();

    errors.add(ActionErrors.GLOBAL_ERROR,
    new ActionError("error.database.error",e.getMessage()));
    if(!errors.isEmpty()){
    saveErrors(request,errors);
    }
    }
    return (mapping.findForward(target));
    }

    }

  6. #6
    Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 3
    Par défaut
    target = new String("error");
    à remplacer par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    target = new String("echec");
    (cf ton struts-config.xml)

Discussions similaires

  1. enregistrer dans une base de données
    Par liverbird dans le forum C++Builder
    Réponses: 33
    Dernier message: 12/07/2006, 19h50
  2. [PHP/MySQL] Prob d'enregistrement dans la base
    Par mmz dans le forum Administration
    Réponses: 15
    Dernier message: 14/06/2006, 10h39
  3. [MySQL] Enregistrer dans une base de données à partir d'une liste déroulante
    Par snakejl dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 17/05/2006, 16h32
  4. inscription via le web et enregistrement dans une base de données
    Par titoenis dans le forum Balisage (X)HTML et validation W3C
    Réponses: 11
    Dernier message: 17/05/2006, 09h20
  5. Réponses: 1
    Dernier message: 04/11/2005, 23h26

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