Kullanıcı DataTable'dan bir veriyi seçecek ardından "Güncelle" butonuna basıp seçtiği veriyi güncellemek için modal dialog ' u açacak. Veri seçmeden butona bastığı zaman ise "Lütfen Seçim Yapınız" uyarısını alacaktır.
Senaryomuzu oluşturduğumuza göre artık kodlamaya başlayabiliriz.
springrestliste.jsp
<%@
page
language="java"
contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"
isELIgnored="false"%>
<%@
taglib
uri="http://www.springframework.org/tags/form"
prefix="form"%>
<%@
taglib
uri="http://java.sun.com/jsp/jstl/core"
prefix="c"%>
<%@
taglib
uri="http://www.springframework.org/tags"
prefix="s"%>
<html>
<head>
<meta
http-equiv="Content-Type"
content="text/html;
charset=UTF-8">
<link
rel="stylesheet"
href="https://cdn.datatables.net/1.10.10/css/jquery.dataTables.min.css">
<link
rel="stylesheet"
href="https://cdn.datatables.net/select/1.2.0/css/select.dataTables.min.css">
<link
rel="stylesheet"
href="https://datatables.net/release-datatables/extensions/TableTools/css/dataTables.tableTools.css">
<script
src="https://cdn.datatables.net/1.10.10/js/jquery.dataTables.min.js"></script>
<script
src="https://cdn.datatables.net/select/1.2.0/js/dataTables.select.min.js"></script>
<script
src="<c:url
value="/resources/js/springrestornekliste.js?v=1.3"
/>"></script>
</head>
<body>
<table
id="restdt"
class="ui
selectable celled table">
<thead>
<tr
id="filterrow">
<th>Ad</th>
<th>Soyad</th>
<th>E-Posta</th>
<th>Doğum
Tarihi</th>
</tr>
<tr>
<th
style="width:
100px;color:
blue;">Ad</th>
<th
style="width:100px;color:blue;">Soyad</th>
<th
style="color:blue;">E-Posta</th>
<th
style="width:
100px;color:
blue;">Doğum
Tarihi</th>
</tr>
</thead>
<tbody></tbody>
<tfoot>
<tr>
<td>
<input
type="submit"
id="deleteSpringRestrecordId"
class="ui
red button"
value="Sil"
/>
<input
type="submit"
id="updateSpringRestrecordId"
class="ui
blue button"
value="Güncelle"
/>
</td>
</tr>
</tfoot>
</table>
<div
id="srolDelResponse"
style="width:
350px;"
align="center"></div>
<div
id="updateDlgId"
class="ui
modal"
style="width:
510px;height:
230px;">
<jsp:include
page="/popup/springrestornekUpdate.jsp"/>
</div>
</body>
</html>
Burada include ettiğimiz modal dialog ' un sayfası springrestornekUpdate.jsp aşağıdaki gibidir.
springrestornekUpdate.jsp
<%@
page
language="java"
contentType="text/html;
charset=UTF-8"
pageEncoding="UTF-8"%>
<%@
taglib
uri="http://www.springframework.org/tags"
prefix="s"%>
<div
class="ui
tiny form"
align="center">
<div
class="header"
align="center"
style="margin-top:
20px;">
<a
class="ui
blue label">Güncelleme
Formu</a>
</div>
<div
class="content">
<div
class="two
fields"
>
<div
class="field">
<label><s:message
code="springrestornek.ad"
/></label>
<input
type="text"
name="ad"
id="ad"
style="width:220px;"
placeholder="Ad"/>
</div>
<div
class="field">
<label><s:message
code="springrestornek.soyad"
/></label>
<input
type="text"
name="soyad"
id="soyad"
style="width:220px;" placeholder="Soyad"/>
</div>
</div>
<div
class="two
fields">
<div
class="field">
<label><s:message
code="springrestornek.eposta"/></label>
<input
type="text"
name="eposta"
id="eposta"
style="width:220px;" placeholder="E-Posta"/>
</div>
<div
class="field">
<label><s:message
code="springrestornek.dogumtarihi"/></label>
<input
type="text"
id="dogumtarihi"
name="dogumtarihi"
style="width:220px;" placeholder="Doğumtarihi"/>
</div>
</div>
</div>
<div
class="actions"
align="center">
<input
type="submit"
id="updateDlgButton"
class="ui
blue button"
onclick="updateD()"
value="Güncelle"
/>
<input
type="submit"
id="cancelDlgButton"
class="ui
cancel button"
onclick="closeDlg()"
value="Vazgeç"
/>
</div>
</div>
springrestliste.js
$(document).ready(function(){
var
picker
=
new
Pikaday(
{
field:
document.getElementById('dogumtarihi'),
firstDay:
1,
format
:
'DD.MM.YYYY',
minDate:
new
Date(1900,
0,
1),
maxDate:
new
Date(2016,
12,
31),
yearRange:
[1900,2016],
i18n:
{
previousMonth
:
'Önceki',
nextMonth
:
'Sonraki',
months
: ['Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'],
weekdays
:
['Pazar','Pazartesi','Salı','Çarşamba','Perşembe','Cuma','Cumartesi'],
weekdaysShort
:
['Paz','Pzt','Sal','Çar','Per','Cum','Cmt']
}
});
$('#kayitRestFormId').submit(function(event)
{
var
ad
=
$('#ad').val();
var
soyad
=
$('#soyad').val();
var
sifre
=
$('#sifre').val();
var
eposta
=
$('#eposta').val();
var
dogumtarihi
=
$('#dogumtarihi').val();
var
json
=
{
"ad"
:
ad,
"soyad"
:
soyad,
"sifre":
sifre
,
"eposta"
:
eposta
,
"dogumtarihi"
:
dogumtarihi};
var
rules
=
{
on
:
'blur',
inline
:
true,
fields:
{
ad:
{
identifier:
'ad',//Bu
kısım düzenlenecek
rules:
[
{
type
:
'empty',
prompt
:
'Ad
boş geçilemez!'
}
]
},
soyad:{
identifier
:
'soyad',
rules:
[{
type
:
'empty',
prompt
:
'Soyad
boş geçilemez!'
}]
},
sifre:{
identifier
:
'sifre',
rules:
[{
type:
'empty',
prompt
:
'Şifre
boş geçilemez!'
}]
}
}
};
var
table
=
$('#restdt').DataTable();
$('#restdt
tbody').on(
'click',
function
()
{
if
(
$(this).hasClass('selected')
)
{
$(this).removeClass('selected');
}
else
{
table.$('selected').removeClass('selected');
$(this).addClass('selected');
}
});
$('#restdt
thead tr#filterrow th').each(
function
()
{
var
title
=
$('#restdt
thead th').eq(
$(this).index()
).text();
$(this).html(
'<input
type="text" style="height:20px;" onclick="stopPropagation(event);" placeholder="'+title+'"
/>'
);
}
);
$("#restdt
thead input").on(
'keyup
change',
function
()
{
table
.column(
$(this).parent().index()+':visible'
)
.search(
this.value
)
.draw();
}
);
function
stopPropagation(evt)
{
if
(evt.stopPropagation
!==
undefined)
{
evt.stopPropagation();
}
else
{
evt.cancelBubble
=
true;
}
}
$('#updateSpringRestrecordId').click(
function(){
if(table.rows('.selected').data().length
==
0){
alert('Lütfen
Seçim Yapınız!');
}else{
$('#updateDlgId').modal('show');
openUpdateSpringRestDlg(table.rows('.selected').data()[0]);
}
});
});
function
updateD(){
updateSpringRest(selectedUpdateId);
}
function
updateSpringRest(selectedId){
var
ad
=
$('#ad').val();
var
soyad
=
$('#soyad').val();
var
eposta
=
$('#eposta').val();
var
dogumtarihi
=
$('#dogumtarihi').val();
$.ajax({
url:
"/SpringDispatcherServlet/springrestorneklisteupdate",
data: "id="+selectedId+"&ad="+ad+"&soyad="+soyad+"&eposta="+eposta+"&dogumtarihi="+dogum tarihi,
type:
"POST",
success:
function(smartphone)
{
var
respContent
=
"";
closeDlg();
$('#restdt').DataTable().ajax.reload();
selectedUpdateId
=
null;
respContent
+="<div
class='ui green message'><i class='close icon' id='closeIcon' onClick='closeIcon()'></i>"+
"<div
class='header'>"+
"Kayıt
Başarıyla Güncellendi"+
"
</div></div>";
$("#srolDelResponse").html(respContent);
}
});
event.preventDefault();
}
function
closeIcon(){
$('#closeIcon').parent().hide();
}
function
openUpdateSpringRestDlg(data){
selectedUpdateId
=
data.id;
$('#ad').val
(data.ad);
$('#soyad').val(data.soyad);
$('#eposta').val(data.eposta);
$('#dogumtarihi').val(data.dogumtarihi);
}
function
closeDlg(){
$('#updateDlgId').modal('hide');
}
SpringRestListeController.java
package
com.mesutemre.controller;
import
java.util.List;
import
org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.http.HttpStatus;
import
org.springframework.http.MediaType;
import
org.springframework.http.ResponseEntity;
import
org.springframework.stereotype.Controller;
import
org.springframework.ui.Model;
import
org.springframework.validation.BindingResult;
import
org.springframework.web.bind.annotation.ModelAttribute;
import
org.springframework.web.bind.annotation.PathVariable;
import
org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestMethod;
import
org.springframework.web.bind.annotation.ResponseBody;
import
com.mesutemre.dao.SpringRestOrnekDAO;
import
com.mesutemre.model.SpringRestOrnek;
/**
*
@author
mesudemre
*
*/
@Controller
public
class
SpringRestOrnekListeController {
@Autowired
private
SpringRestOrnekDAO service;
@RequestMapping(value
= "/springrestornekliste"
, method = RequestMethod.GET)
public
String showSpringRestOrnekListe(Model model){
return
"springrestornekliste";
}
@RequestMapping(method
= RequestMethod.GET
, produces = "application/json"
,
value= "/springorneklistejson")
public
@ResponseBody
List<SpringRestOrnek> getSpringRestOrneks(){
return
service.getSpringRestOrnekListe();
}
@RequestMapping(value
= "/springrestorneklisteupdate"
, method = RequestMethod.POST)
@ResponseBody
public
SpringRestOrnek updateSpringRestOrnek(@ModelAttribute("sro") SpringRestOrnek sro, BindingResult resultAjax){
return
service.updateSpringRestOrnek(sro);
}
}
Güncelleme işlemine ait ekran görüntüleri aşağıdaki gibidir.
Hiç yorum yok:
Yorum Gönder