Bugün kaldığımız yerden devam edeceğiz yine. Dün sağlıkla ilgili problemlerden dolayı yazacak vakit bulamadım. Akşam da güzel bir Akın Kaldiroğlu semineri vardı Java EE ile ilgili. İnternette yayımlayacaktı. İzlemenizi tavsiye ederim.
En son validation işlermleri yapmıştık. Bugün ise kayıt ettiğimiz bilgileri ekrana getireceğiz ve daha sonra da kayıtlar üzerinden silme işlemini gerçekleştireceğiz. Projenin düzgün çalışması için terlediğimi ifade etmek zorundayım. Ben de yeni yeni öğreniyorum sonuçta bu yüzden sizlerin de bir görüşünüz fikriniz olduğu zaman paylaşabilirsiniz. Eski projemiz üzerinden devam etme şansımız olmasıyla birlikte, projenin son halini yazının sonunda paylaşacağım. Oradan indirip üzerinde çalışabilirsiniz. Yorumları yine kodlar arasında yapmaya çalıştım.
list.jsp sınıfımız aşağıdaki gibidir.
<table>
<c:forEach items="${userList}" var="user">
<!-- forEach döngüsü javadaki yeni for döngüsü mantigiyla calisiyor -->
<tr>
<td><c:out value="${user.name}-${user.surname}-${user.phone}" />
</td>
<td><a href="/malikmasis.blogspot.com.tr/list/${user.id}"
onclick="return confirm('silmek istediginize emin misin ? ');">Delete
</a></td>
<!-- ${user.id} tkladgmz satiri silebilmemiz için gereklidir. -->
<!-- return confirm ise karsmza ckan sileyim mi onay kutucugudur. -->
</c:forEach>
</table>
Açıklamalar dediğim gibi kod içinde mevcuttur. Tekrardan açıklamaya gerek yoktur, fakat sormak istediğiniz yer olursa sorabilirsiniz.
Şimdi de controller sınıfındaki kodun bir kısmını vereceğim. Fakat bu kod tek başına tabii ki yeterli değil. Kodları tek tek baştan itibaren vermek de uzun süreceği için farklı ve önemli gördüğümüz yerleri anlatmaya çalışıyorum burada. Fakat kodlarda yine açıklamalar bulunmakta
//silme isleminde hangi satirini sildigini bilmesi icin bu tanmlama kullanilir
@RequestMapping("/list/{id}")
public ModelAndView delete(HttpServletRequest request, ModelMap model,
@PathVariable("id") Integer id,
//jsp tarafindan veri alnacaksa pathVariable anatasyonu kullanlr
@RequestParam(value = "idNew", required = false) Integer idNew
//jsp tarafindan veri gonderilecekse requestParametre anatasyonu kullanlr
){
while(rs.next()) {
System.out.println("Isim= "+rs.getString("name")+" Soyisim= "+rs.getString("surname") + "ID= "+rs.getInt("id"));
cekilenVeri=(rs.getInt("id")+ " " + rs.getString("name")+" "+rs.getString("surname") + " " + rs.getString("phone"));
//listeleme kısmı
User user1 = new User();
user1.setId(rs.getInt("id"));
user1.setName(rs.getString("name"));
user1.setSurname(rs.getString("surname"));
user1.setPhone(rs.getString("phone"));
userList.add(user1);
}
//hangi bilgiye göre silecegi. id= primer keydi hatrlarsaniz
String query = "delete from user where id = ?";
PreparedStatement preparedStmt = (PreparedStatement) con.prepareStatement(query);
preparedStmt.setInt(1, id);
preparedStmt.execute();
Kodlar biraz düzensiz gibi gözüküyor. Özellikle de yayımlayınca birbirine giriyor ama dediğim proje içerisinden alabilirsiniz. notepad++ adında küçük bir program var. Orada da rahatlıkla açabilirsiniz. Şimdi de çıktıları verelim.
Resim-1
Eski projemize ek olarak anasayfamızda List Records adında kayıtları listeleyen bir buton koyduk. Bu buton ile daha önce kaydetmiş olduğumuz verileri elde edebiliyoruz.
Resim-2
Şekilde görüldüğü gibi artık kayıtları listeleyen sayfamız ekrana gelmiştir. Burada istediğimiz kayıdı delete linkine tıklayarak silebiliyoruz,fakat sizden onay bekliyor yanlışlıkla yapmış olma ihtimalimize karşı. Eğer yapmış olduğumuz işlemden eminsek tamama tıklayıp 3.resime geçelim
Resim-3
Burada ise işlem tamamlandıktan sonraki hali.
Bugünlük söyleyeceklerimiz de bu kadar. Umarım yararlı bir yazı olmuştur. Hoşça kalın.
Hiç yorum yok:
Yorum Gönder