Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : probleme d'ajout d'un nouveau enregistrement avec jsf1.2/hibernate2 [ Réseau & internet / JavaServerPage (JSP) ] (lucky82)

lundi 26 mai 2008 à 01:45:59 | probleme d'ajout d'un nouveau enregistrement avec jsf1.2/hibernate2

lucky82

Bonjour tout le monde,

je travaille avec hibernate 2 et jsf 1.2 et Oracle 10g sous eclipse europa. je suis bloquée ca fait 4 jours sur un probleme que j'ai avec jsf/hibernate,

donc, j'ai deux tables: programme et devises, dont voilà les fichier .hbm (générés par hibernate synchroniser ):

Programme.hbm

[CODE]
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 " [ Lien ]" >

<hibernate-mapping package="com.projet.hibernate">
 <class name="Programme" table="PROGRAMME" dynamic-update="true" dynamic-insert="true" select-before-update="false">
  <id
   column="ID_PROGRAMME"
   name="IdProgramme"
   type="integer"
  >
   <generator class="increment" />
  </id>
  <property
   column="DESCRIPTION_PROGRAMME"
   length="200"
   name="DescriptionProgramme"
   not-null="false"
   type="string"
   />
  <property
   column="OBJET_PROGRAMME"
   length="200"
   name="ObjetProgramme"
   not-null="false"
   type="string"
   />
  <property
   column="REGLEMENTATION_PROGRAMME"
   length="200"
   name="ReglementationProgramme"
   not-null="false"
   type="string"
   />
  <property
   column="OBSERVATION_PROGRAMME"
   length="200"
   name="ObservationProgramme"
   not-null="false"
   type="string"
   />
  <property
   column="MONTANT_PROGRAMME"
   length="126"
   name="MontantProgramme"
   not-null="false"
   type="java.lang.Float"
   />
  <property
   column="DESIGNATION_PROGRAMME"
   length="200"
   name="DesignationProgramme"
   not-null="false"
   type="string"
   />

  <many-to-one
   class="Devises"
   name="IdDevise"
   not-null="true"
   cascade="all"
  >
   <column name="ID_DEVISE"  />
  </many-to-one>
  
 </class>
</hibernate-mapping>
[/CODE]

devises.hbm

[CODE]
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
 "-//Hibernate/Hibernate Mapping DTD//EN"
 " [ Lien ]" >

<hibernate-mapping package="com.projet.hibernate">
 <class name="Devises" table="DEVISES">
  <id
   column="ID_DEVISE"
   name="IdDevise"
   type="integer"
  >
   <generator class="vm" />
  </id>
  <property
   column="NOM_DEVISE"
   length="20"
   name="NomDevise"
   not-null="false"
   type="string"
   />
  <property
   column="PAYS_DEVISE"
   length="20"
   name="PaysDevise"
   not-null="false"
   type="string"
   />
  <property
   column="DATETAUXCHANGE_DEVISE"
   length="20"
   name="DatetauxchangeDevise"
   not-null="false"
   type="string"
   />
  <property
   column="TAUXCHANGE_DEVISE"
   length="126"
   name="TauxchangeDevise"
   not-null="false"
   type="java.lang.Float"
   />

  <set inverse="true" name="PROGRAMMESet"  lazy="true" cascade="all" >
   <key column="ID_DEVISE"  />
   <one-to-many class="Programme" />
  </set>
 </class>
</hibernate-mapping>


[/CODE]

et ma page jsf qui insere un nouveau programme dans la table programme (ges_programme_ajouter.jsp) est:

[CODE]
<%@taglib uri=" [ Lien ]" prefix="f" %>
<%@taglib uri=" [ Lien ]" prefix="h" %>
<%@taglib uri=" [ Lien ]" prefix="c" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    " [ Lien ]">

<f:view>
    <html>
        <head>
            <title>Gestion des programmes: Ajout</title>
            <link rel="stylesheet" href="extra.css" type="text/css"></link>
   <script language="JavaScript" src="JScripts.js"></script>
           
        </head>
        <body>
            <h:form>
            <table width="752" border="1" cellspacing="2" class="texte">
              <tr>
                <td width="207">D&eacute;signation</td>
                <td colspan="2"><h:inputText id="designationProgramme" value="#{programme.designationProgramme}" /></td>
              </tr>
              <tr>
                <td>Objet</td>
                <td colspan="2"><h:inputTextarea id="objetProgramme" value="#{programme.objetProgramme}" /></td>
              </tr>
              <tr>
                <td>Description</td>
                <td colspan="2"><h:inputTextarea id="descriptionProgramme" value="#{programme.descriptionProgramme}" /></td>
              </tr>
              <tr>
                <td style="width: 192px">Observation</td>
                <td colspan="2"><h:inputTextarea id="observationProgramme" value="#{programme.observationProgramme}" /></td>
              </tr>
               <tr>
                <td >Montant</td>
                <td style="width: 291px"><h:inputText id="montantProgramme" value="#{programme.montantProgramme}" style="width: 113px"/>
     
     <h:selectOneMenu value="#{devises.idDevise}" >
         <f:selectItems id="idDevise" value="#{devises.listeDevises}"/>
       </h:selectOneMenu>
     
    </td>
                <td width="265" style="width: 133px"> </td>
              </tr>
               <tr>
                <td >Reglements</td>
                <td colspan="2">
                <h:selectOneMenu value='#{programme.reglementationProgramme}' >
                <f:selectItem itemLabel="Directive BM" itemValue="Directive BM" />
                <f:selectItem itemLabel="Reglementation internationnale" itemValue="Reglementation internationnale"/>
                </h:selectOneMenu>
                </td>
              </tr>
                <tr>
                <td align="center" height="58" colspan="3">
     <h:commandButton value="Ajouter"  action="#{programme.ValiderForm}" ></h:commandButton>
     <h:commandButton value="Annuler"  ></h:commandButton>
    </td>
              </tr>
            </table>
        </h:form>  
        </body>
    </html>
</f:view>
[/CODE]

les classes beans je les ai crée automatiquement à l'aide de hibernate synchronizer sous eclipse europa, auxequls j'ai ajouté les deux méthodes suivantes:

dans Programme.java
[CODE]
 private List<Programme> ListeProgrammes=null;
 public void ValiderForm(){
 
  

Devises dvs=new Devises();

int IdDevise=dvs.getIdDevise();

System.out.println("IdDevise = "+IdDevise);

int IdProgramme= new Integer(44);;

String Designation=this.getDesignationProgramme();

String Objet=this.getObjetProgramme();

String Description=this.getDescriptionProgramme();

String Observation=this.getObservationProgramme();

Float Montant=this.getMontantProgramme();

Float MontantdirhamProgramme=this.getMontantdirhamProgramme();

String Reglementation=this.getReglementationProgramme();

System.out.println("IdProgramme = "+IdProgramme);

System.out.println("Designation saisie = "+Designation);

System.out.println("Objet saisi = "+Objet);

System.out.println("Description saisi = "+Description);

System.out.println("Observation saisi = "+Observation);

System.out.println("Montant saisi = "+Montant);

System.out.println("MontantdirhamProgramme saisi = "+MontantdirhamProgramme);

System.out.println("Reglementation saisi = "+Reglementation);

      
 }
[/CODE]

FICHIER Devises.java

[CODE]
 private List<SelectItem> ListeDevises=null;

 public Devises getDetailDevise(int IdDevises){
  Devises ddvs=new Devises();
  //lecture des comptes existants à partir de la table compte
  try {
        Session session = HibernateUtil.currentSession();
       
        List list = session.find("from Devises where IdDevises="+IdDevises);
        ddvs = (Devises)list.get(0);
        HibernateUtil.closeSession();
       
   } catch (HibernateException e) {
        e.printStackTrace();
   } 

  return ddvs;

 }

 public List<SelectItem> getListeDevises(){
   
   //lecture des comptes existants à partir de la table compte
   try {
         Session session = HibernateUtil.currentSession();
        
         List list = session.find("from Devises");
         Iterator it = list.iterator();
         ListeDevises= new ArrayList<SelectItem>();
          
         while(it.hasNext()) {
      Devises dvs = (Devises)it.next();
      System.out.println("IdDevise = "+dvs.getIdDevise()+" devise Nom= "+dvs.getNomDevise());
      ListeDevises.add(new SelectItem(dvs.getIdDevise(),dvs.getNomDevise()));
         }
        
         HibernateUtil.closeSession();
    } catch (HibernateException e) {
         e.printStackTrace();
    } 
     
    return ListeDevises;
   }

[/CODE]

lors de l'execution du fichierr .jsf, je recois cette exception:
[CODE]

exception

javax.servlet.ServletException: #{programme.ValiderForm}: java.lang.NullPointerException 	javax.faces.webapp.FacesServlet.service(FacesServlet.java:277) 


note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.16.

[/CODE]

Merci de m'aider


lundi 26 mai 2008 à 09:57:39 | Re : probleme d'ajout d'un nouveau enregistrement avec jsf1.2/hibernate2

lucky82

je peux pas avoir votre aide les amis?!


mardi 24 juin 2008 à 14:51:52 | Re : probleme d'ajout d'un nouveau enregistrement avec jsf1.2/hibernate2

boumarsel

Bonjour,

As-tu déclaré le bean dans ton fichier faces-config.xml?

<managed-bean>
        <managed-bean-name>programme</managed-bean-name>
        <managed-bean-class>
            leNomduPackageComplet.Programme
        </managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>

Cordialement,

dimanche 20 juillet 2008 à 15:14:13 | Re : probleme d'ajout d'un nouveau enregistrement avec jsf1.2/hibernate2

delivrance84

bonjour,

j'avais le même probleme de lucky82, Merci boumarsel pour votre reponse mais malheureusement même si j'ai suivis votre salution ,le probleme n'a pas encore éte résolus ,s'il vous plait est-ce qu'il y aquelqu'un qui peut m'aider à ce point là?je suis en stage et je suis vraiment bloquée et Merci d'avance.



Cette discussion est classé dans : programme, string, name, hibernate, devises


Répondre à ce message

Sujets en rapport avec ce message

Attente entre RUNTIME lancés en boucle ! [ par darktonight ] Bonjour, et tout d'abord merci pour le temps passé à nous aider.Je veux lancé plusieurs fois un logiciel (.exe) avec des paramétres differents.Pour ce .toLowerCase() [ par christo01 ] Bonjour, je pose cette question avec .toLowerCase(), mais je parle bien sûr de n'importe quelle fonction similaire. Question: Qu'est ce qui est le pl saisie clavier sous netbeans [ par steppenwolf ] Je dois réaliser un programme java qui permet de lire une chaine de caractères saisie au clavier par l'utilisateur. Je travaille sous NetBeans et avec LinkedHashMap [ par awata ] bonjour, svp j'ai un problème par rapport à likedhash map au fait j'ai une classe java qui contient un string et un linked hash map public class T passage de parametre entre un bean et une jsf [ par anisj1m ] bonjour; j'ai un probleme de passage de parametre de type list entre on bean et ma jsf; mon bean est [code] /* * Licensed to the Apache Software debutant en java [ par juleshervey ] bonjour à tous.comme vs pouvez le constater je suis un debutant avec ce langage,mais comme tout langage j'ai commence par m'exercer avec des variables Pb de String [ par CicinhoRaul ] Salut à tous désolé de vous déranger mais j'aimerai savoir s'il y a possibilité de retirer des caracteres d'un String.String name ; name = "A-B-C"; Hibernate et HSQLDB [ par LordBob ] Bonsoir a tous, voila je me décide à poster un message car la je ne m'en sort pas trop bien avec Hibernate que je tente malgrès moi de découvrir. J'ut Erreur de compile sous Eclipse [ par egwene ] Salut à tous,J'espère que vous pourrez m'aider je suis à court d'inspiration !J'ai un projet J2EE sous eclipse avec Apache, JBoss, MySQL et utilisant


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.