Commits

Endy Muhardin committed cdb72cd

implement simpan data kontak

  • Participants
  • Parent commits cb8c7f7

Comments (0)

Files changed (4)

File belajar-javaee/belajar-javaee-ejb/src/java/bukualamat/entity/Kontak.java

     @Column(name="tanggal_lahir")
     private Date tanggalLahir;
 
+    public Date getTanggalLahir() {
+        return tanggalLahir;
+    }
+
+    public void setTanggalLahir(Date tanggalLahir) {
+        this.tanggalLahir = tanggalLahir;
+    }
+
     public Kategori getKategori() {
         return kategori;
     }

File belajar-javaee/belajar-javaee-ejb/src/java/bukualamat/service/BukualamatServiceBean.java

     }
     
     public void simpan(Kontak k){
-        em.persist(k);
+        if(k.getId() == null){
+            em.persist(k);
+        } else {
+            em.merge(k);
+        }
     }
     
     public Kontak cariKontakById(Long id){

File belajar-javaee/belajar-javaee-jsf/src/java/bukualamat/jsf/KontakManagedBean.java

+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package bukualamat.jsf;
+
+import bukualamat.entity.Kontak;
+import bukualamat.service.BukualamatServiceBean;
+import javax.ejb.EJB;
+import javax.faces.bean.ManagedBean;
+import javax.faces.bean.SessionScoped;
+
+/**
+ *
+ * @author Student01
+ */
+@ManagedBean
+@SessionScoped
+public class KontakManagedBean {
+    @EJB
+    private BukualamatServiceBean bukualamatServiceBean;
+
+    private Kontak kontak = new Kontak();
+    
+    public String simpan(){
+        bukualamatServiceBean.simpan(kontak);
+        kontak = new Kontak();
+        return "form?faces-redirect=true";
+    }
+
+    public Kontak getKontak() {
+        return kontak;
+    }
+
+    public void setKontak(Kontak kontak) {
+        this.kontak = kontak;
+    }
+    
+    /**
+     * Creates a new instance of KontakManagedBean
+     */
+    public KontakManagedBean() {
+    }
+}

File belajar-javaee/belajar-javaee-jsf/web/kontak/form.xhtml

                 <h:form>
                     <h:panelGrid columns="3">
                         <h:outputLabel for="kategori" value="Kategori"/>
-                        <h:selectOneListbox id="kategori" size="1">  
+                        <h:selectOneListbox id="kategori" size="1"
+                                            >  
                             <f:selectItems 
                                 value="#{kategoriManagedBean.daftarKategori}"  
                                 var="k" itemLabel="#{k.nama}" 
                         <h:message for="kategori"/>
                         
                         <h:outputLabel for="nama" value="Nama"/>
-                        <h:inputText id="nama" required="true" requiredMessage="Nama kontak harus diisi" />
+                        <h:inputText id="nama" value="#{kontakManagedBean.kontak.nama}"
+                                     required="true" requiredMessage="Nama kontak harus diisi" />
                         <h:message for="nama"/>
                         
                         <h:outputLabel for="email" value="Email"/>
-                        <h:inputText id="email"/>
+                        <h:inputText id="email" value="#{kontakManagedBean.kontak.email}"/>
                         <h:message for="email"/>
                         
                         <h:outputLabel for="tanggalLahir" value="Tanggal Lahir"/>
-                        <p:calendar id="tanggalLahir" />
+                        <p:calendar id="tanggalLahir" value="#{kontakManagedBean.kontak.tanggalLahir}" />
                         <h:message for="tanggalLahir"/>
 
                         <h:panelGroup>
-                            <h:commandButton value="Simpan"/>
+                            <h:commandButton value="Simpan" action="#{kontakManagedBean.simpan()}"/>
                             <h:commandButton value="Batal" />
                         </h:panelGroup>
                     </h:panelGrid>