Jsp Verileri Dinamik Olarak Sayfalatma
JSP Dersleri‘mizin bu yazısında Java Server Pages üzerinden veritabanında ki tüm verileri ya da istediğiniz belirli bir bölümü dinamik olarak sayfalatma işlemini yapacağız.
*
Bu derste ile beraber geçen yazıların biraz tekrarını yapmış olacağız ardından verilerimizi sayfa sayfa okumuş olacağız. Yapmak istediğim şeyi biraz daha açıklamak istersem; veritabanımızda 30 tane kayıt var diyelim bu 30 kayıtı bir anda görüntülemek istemiyorum. Bir buton koyup her sayfada bir kayıt göstermek istiyorum.
Bunun için 30 sayfa ve ya kayıt sayımıza göre farklı sayfalar yapmayacağız. Başlıkta da görüldüğü üzere Dinamik’ten kastım bu idi. Bu işlemi nasıl yapacağız biraz düşünelim. Her bir kayıt için sayfa oluşturmayacaksak yapacağımız şey bütün verileri alıp tek tek göstermek. Bunun cevabı ise yazının devamında.
Bu örneği uygulamak için bir senaryo oluşturalım. Bu senaryo da;
- Rehber adı altında bir veritabanımız olacak.
- Bilgi tablosunda,
- id (PK,NN)
- adi (VARCHAR 45)
- soyadi (VARCHAR 45)
- numara (VARCHAR 45) kolonları olsun.
- Bu tabloya biraz bilgi girişi yapalım ve uygulamamızda dönelim.
Biraz bilgi girdikten sonra verilerimiz bu şekilde;
Bir Java Server Pages sayfası oluşturarak başlayalım. Bu sayfamız verilere ulaşmak için bağlantı yapmamızı sağlayacak. Bu bağlanma işlemini daha detaylı olarak JSP MySql Bağlantısı Kurmak adlı dersimde bulabilirsiniz.
Yapacaklarımız.
- Veritabanımıza bağlanacağız.
- Bir verisayacımız olacak. Bu veri sayacımız sayesinde toplamda kaç kayıt olduğunu öğreneceğiz.
- Bir form oluşturacağız bu form verisayacımızdan gelen deger ile get metodu ile aynı sayfaya yani index.jsp ye yönlenerek bir sonraki kayıta geçecek.
- Tablo oluştaracağız çektiğimiz verileri tablomuzda göstereceğiz. Formdan gelen verisayacı arttığında Resultset ile gelen değere göre sıradaki verileri gösterecek. Bu methot ise Jsp Query String Kullanımı’na benzemektedir. Bu yazımda detaylı olarak yazmıştım.
Özetle yapılacak işlem veritabanında ki verileri toplayıp bir sıra numarası vererek o sıra numarasına göre oluşturduğumuz formun butonundan gelen değere göre bir artarak sonraki kayıtı göstermek.
Kod sonrasi görüntü şu şekilde olacak;
<%@ page import="java.sql.*" %> <%@ page import="java.io.*" %> <HTML> <HEAD> <TITLE>Burak Kutbay Yazılım Mühendisi </TITLE> </HEAD> <br> <br><center>Tum Kayitlar Tek Tek Listeleniyor...</center> <% int verisayac = 0; Connection connection = null; String connectionURL = "jdbc:mysql://localhost:3306/rehber"; ResultSet rs = null; %> <center> <FORM ACTION="index.jsp" METHOD="get"><% if (request.getParameter("verigoster") != null) { verisayac = Integer.parseInt(request.getParameter("verigoster")); } Statement statement = null; try { Class.forName("com.mysql.jdbc.Driver").newInstance(); connection = DriverManager.getConnection(connectionURL, "root", "root"); statement = connection.createStatement(); rs = statement.executeQuery("select * from bilgi"); for (int i = 0; i < verisayac; i++) { rs.next(); } if (!rs.next()) { %> <% out.println("Kayit Sonu"); } else { %> <TABLE> <TR><TH>Adi</TH><TD> <%= rs.getString(1)%> </TD></tr> <TR><TH>Soyadi</TH><TD> <%= rs.getString(2)%> </TD></tr> <TR><TH>Numara</TH><TD> <%= rs.getString(3)%> </TD></tr> <TR><TH>id</TH><TD> <%= rs.getInt(4)%> </TD></tr> </TR> </TABLE> <BR> <INPUT TYPE="hidden" NAME="verigoster" VALUE="<%=verisayac + 1%>"> <INPUT TYPE="submit" VALUE="Sonraki Kayit"> </FORM> <% } } catch (Exception ex) { out.println("Veritabanına baglanilamadi."); } %> </FORM> </center> </body> </html>
No Comment! Be the first one.