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 :

insertion vers une base de donnée à partir d'une page jsf


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut insertion vers une base de donnée à partir d'une page jsf
    salut
    voila je veux faire l'ajout vers une base oracle à partir d'une page jsf
    mais voila ca ne marche pas
    voila
    mon beans
    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
    package beans;
     
    import gestion.AccessDB;
     
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    public class AuteurBeans {
    	//les Attributs 
    	private int    idauteur;
    	private String nomAuteur;
    	private String prenomAuteur;
    	private String pays;
    	//constructeur par defaut
    	public AuteurBeans(){
     
    	}
    	//Les getter et settter 
    	public int getIdauteur() {
    		return idauteur;
    	}
    	public void setIdauteur(int idauteur) {
    		this.idauteur = idauteur;
    	}
    	public String getNomAuteur() {
    		return nomAuteur;
    	}
    	public void setNomAuteur(String nomAuteur) {
    		this.nomAuteur = nomAuteur;
    	}
    	public String getPrenomAuteur() {
    		return prenomAuteur;
    	}
    	public void setPrenomAuteur(String prenomAuteur) {
    		this.prenomAuteur = prenomAuteur;
    	}
    	public String getPays() {
    		return pays;
    	}
    	public void setPays(String pays) {
    		this.pays = pays;
    	}
     
    	//les methodes 
    	public String ajouterAuteurBase(){
     
    		Connection con = AccessDB.getConn();
    		try {
    			ResultSet rset = AccessDB.execSQL("insert into Auteur values ( "+this.idauteur+",'"+this.nomAuteur+"','"+this.prenomAuteur+"','"+this.pays+"')");
     
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			System.out.println("Erreur  de l'ajout  ");
    		}
    		return "retour";
     
     
     
    	}
     
    }
    et ma 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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
    <!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" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    <title>Confirmation Auteur</title>
    </head>
    <body>
    <h1>Validation de votre ajout</h1>
    <f:view>
    <h:form>
    		<h:panelGrid border="1" columns="2">
    			<h:outputText value="IdAuteur:"></h:outputText>
    			<h:inputText value="#{auteurBeans.idauteur}"></h:inputText>
    			<h:outputText value="Nom:"></h:outputText>
    			<h:inputText value="#{auteurBeans.nomAuteur}"></h:inputText>
    				<h:outputText value="Prenom:"></h:outputText>
    			<h:inputText value="#{auteurBeans.prenomAuteur}"></h:inputText>
    				<h:outputText value="Pays:"></h:outputText>
    			<h:inputText value="#{auteurBeans.pays}"></h:inputText>
    </h:panelGrid>
    <h:commandButton value="Confirmer votre ajout"  style="width: 183px" action="#{auteurBeans.ajouterAuteurBase}"></h:commandButton>
    	</h:form>
    </f:view>
    </body>
    </html>
    merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    qu'est ce qui ne marche pas??

    si c'est la fonction d'ajout, tu n'est pas dans le bon forum, si c'est du jsf, donne plus d'explications..

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    oui je travaille sous jsf
    quand je clic sur Confirmer votre ajout pour exécuter auteurBeans.ajouterAuteurBase() ma fonction d'ajour
    j'ai ce message d'erreur


    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
    Etat HTTP 500 - 
     
    --------------------------------------------------------------------------------
     
    type Rapport d'exception
     
    message 
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception 
     
    javax.servlet.ServletException: #{auteurBeans.ajouterAuteurBase}: java.lang.NullPointerException
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    javax.faces.FacesException: #{auteurBeans.ajouterAuteurBase}: java.lang.NullPointerException
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
    	javax.faces.component.UICommand.broadcast(UICommand.java:387)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:755)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    javax.faces.el.EvaluationException: java.lang.NullPointerException
    	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    	javax.faces.component.UICommand.broadcast(UICommand.java:387)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:755)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    cause mère 
     
    java.lang.NullPointerException
    	gestion.AccessDB.execSQL(AccessDB.java:39)
    	beans.AuteurBeans.ajouterAuteurBase(AuteurBeans.java:50)
    	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    	sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    	java.lang.reflect.Method.invoke(Unknown Source)
    	org.apache.el.parser.AstValue.invoke(AstValue.java:131)
    	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    	org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
    	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
    	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    	javax.faces.component.UICommand.broadcast(UICommand.java:387)
    	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
    	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:755)
    	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    	org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
     
     
    note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de JBossWeb/2.0.1.GA.
     
     
    --------------------------------------------------------------------------------
     
    JBossWeb/2.0.1.GA
    Sniper37
    si c'est la fonction d'ajout, tu n'est pas dans le bon forum, si c'est du jsf,
    c'est quoi la bon fonction s'il vous plait ??

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    l'erreur vient de la fonction d'ajout, rien à voir avec JSF,
    la cause est un nullPointerException, la ligne donnée dans l'exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    java.lang.NullPointerException
    	gestion.AccessDB.execSQL(AccessDB.java:39)
    Si tu ne trouve pas la cause, il faut suivre en debug ce qui se passe dans la fonction, normalement la ligne 39 tu trouvera quel objet est null.

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    merci mais ça ne marche pas encore
    j'ai test ma fonction d'ajout

    avec class beans
    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
    package beans;
     
    import gestion.AccessDB;
     
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
     
    public class AuteurBeans {
    	//les Attributs 
    	private int    idauteur;
    	private String nomAuteur;
    	private String prenomAuteur;
    	private String pays;
    	//constructeur par defaut
    	public AuteurBeans(){
     
    	}
    	//Les getter et settter 
    	public int getIdauteur() {
    		return idauteur;
    	}
    	public void setIdauteur(int idauteur) {
    		this.idauteur = idauteur;
    	}
    	public String getNomAuteur() {
    		return nomAuteur;
    	}
    	public void setNomAuteur(String nomAuteur) {
    		this.nomAuteur = nomAuteur;
    	}
    	public String getPrenomAuteur() {
    		return prenomAuteur;
    	}
    	public void setPrenomAuteur(String prenomAuteur) {
    		this.prenomAuteur = prenomAuteur;
    	}
    	public String getPays() {
    		return pays;
    	}
    	public void setPays(String pays) {
    		this.pays = pays;
    	}
     
    	//les methodes 
    	public String ajouterAuteurBase(){
     
    		Connection con = AccessDB.getConn();
    		try {
    			ResultSet rset = AccessDB.execSQL("insert into Auteur values( "+this.idauteur+",'"+this.nomAuteur+"','"+this.prenomAuteur+"','"+this.pays+"')");
     
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    			System.out.println("Erreur  de l'ajout  ");
    		}
    		return "retour";
     
     
     
    	}
    	public static void main(String args[]) {
     
    		/*AuteurBeans test=new AuteurBeans();
    		test.setIdauteur(1);
    		test.setNomAuteur("test");
    		test.setPrenomAuteur("test");
    		test.setPays("TEst");
    		test.ajouterAuteurBase();
    		*/
    	}
    }
    j'ai ajouté le main pour voir si elle marche bien et l'ajout ce passe bien


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public static void main(String args[]) {
     
    		AuteurBeans test=new AuteurBeans();
    		test.setIdauteur(1);
    		test.setNomAuteur("test");
    		test.setPrenomAuteur("test");
    		test.setPays("TEst");
    		test.ajouterAuteurBase();
     
    	}
    je ne comprends rien ??

  6. #6
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    98
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 98
    Points : 55
    Points
    55
    Par défaut
    merci sniper37
    c'est moi qui a mal utilisé AccessDB

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/07/2009, 08h12
  2. Réponses: 7
    Dernier message: 22/01/2009, 09h39
  3. Mettre en place une base de données à partir d'une sauvegarde
    Par snopims dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 16/09/2008, 10h13
  4. Réponses: 1
    Dernier message: 02/02/2007, 10h29
  5. [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

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