JSF Ile Veri Ekleme
- Sevdanur GENC

- Mar 25, 2012
- 2 min read
Onceki makalelerde JSF ve kullandigi bilesenlerden bahsettik.Ve bununla birlikte verilerimizi nasil listeleyebildigimizi inceledik. Sira geldi JSF ile verilerimizi veri tabanina nasil aktaracagimiza...
Bir onceki makalede olusturdugumuz uygulamanin uzerinden devam edecek olursak bu kez yine oncelikle java class'larimizi olusturmakla ise basliyoruz. Hemen ardindan faces-config.xml dosyamiza iletisimi saglayacak kodlari ve son olarakta JSF sayfamizin tasarimini gerceklestiriyoruz.
Yazarlar.Java Kaynak Kodu ;
public class Yazarlar {
private int YazarId;
private String YazarAdi;
private String YazarSoyadi;
public Yazarlar() { }
public String getYazarAdi() {
return YazarAdi; }
public void setYazarAdi(String YazarAdi) {
this.YazarAdi = YazarAdi; }
public int getYazarId() {
return YazarId; }
public void setYazarId(int YazarId) {
this.YazarId = YazarId; }
public String getYazarSoyadi() {
return YazarSoyadi; }
public void setYazarSoyadi(String YazarSoyadi) {
this.YazarSoyadi = YazarSoyadi; }
}
YazarlarEkleBean.Java Kaynak Kodu ;
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class YazarlarEkleBean {
private Yazarlar yazarlar = new Yazarlar();
private static String URL = "jdbc:derby://localhost:1527/odev";
private static String USERNAME = "odev";
private static String PASSWORD = "odev";
public String YazarlarEkleBean()
{
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
Connection connection = DriverManager.getConnection(URL, USERNAME,PASSWORD);
PreparedStatement pstmt = connection.prepareStatement("INSERT INTO YAZARLAR(YAZARADI,YAZARSOYADI) VALUES(?, ?)");
pstmt.setString(1, yazarlar.getYazarAdi());
pstmt.setString(2, yazarlar.getYazarSoyadi());
pstmt.execute();
pstmt.close();
connection.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return "Yazarlar_Liste";
//kayit bittikten sonra liste ekranina geri donecek
}
public Yazarlar getYazarlar() {
return yazarlar; }
public void setYazarlar(Yazarlar yazarlar) {
this.yazarlar = yazarlar; }
}
Faces-Config.XML Kaynak Kodu ;
<faces-config version="2.0"
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_2_0.xsd">
<managed-bean>
<managed-bean-name>yazarlarListBean</managed-bean-name>
<managed-bean-class>YazarlarListBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<managed-bean>
<managed-bean-name>yazarlarEkleBean</managed-bean-name>
<managed-bean-class>YazarlarEkleBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>YazarEkle.xhtml</from-view-id>
<navigation-case>
<from-outcome>Yazarlar_Liste</from-outcome>
<to-view-id>index.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
</faces-config>
YazarlarEkle.XHTML Kaynak Kodu ;
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"> <h:head> <title>Facelet Title</title> </h:head> <h:body> <h:form prependId="false"> <h:panelGrid columns="2"> <h:outputText value="
yazarAdi
" /> <h:inputText value="#{
yazarlarEkleBean.yazarlar.yazarAdi
}" /> <h:outputText value="
yazarSoyadi
" /> <h:inputText value="#{
yazarlarEkleBean.yazarlar.yazarSoyadi
}" /> <h:commandButton value="Kaydet" action="#{
yazarlarEkleBean.YazarlarEkleBean
}" />
</h:panelGrid>
</h:form>
</h:body>
</html>
Index.XHTML Kaynak Kodu ;
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:dataTable value="#{yazarlarListBean.yazarlar}" var="yazar">
<f:facet name="header">Yazarlar</f:facet>
<h:column>
<f:facet name="header">Id</f:facet>
#{yazar.yazarId}
</h:column>
<h:column>
<f:facet name="header">Ad</f:facet>
#{yazar.yazarAdi}
</h:column>
<h:column>
<f:facet name="header">Soyad</f:facet>
#{yazar.yazarSoyadi}
</h:column>
</h:dataTable>
</h:body>
<h:outputLink value="YazarEkle.xhtml">
Yazar Ekle
</h:outputLink>
</html>
Ekran Goruntuleri ;
Yazar Ekle linkine tiklanildiginda karsimiza YazarEkle.XHtml gelecektir.
Verilerimizi girdikten sonra kaydet butona tiklayarak tekrar ana sayfamiz olan index.xhtml karsimiza gelmis oluyor.
Keyifli Calismalar Dilerim...
Comments