Ajaxはページング要求を提出し、非同期リフレッシュ効果を実現する(1)
一、JsonArrayを使って伝達する
JAvaコード
jspコード
JAvaコード
@RequestMapping(value="/myphotopage")
public HttpEntity<JSONArray> myphoto2(int pageNum,HttpSession session,HttpServletResponse resp) throws Exception{
UserInfo user=(UserInfo) session.getAttribute("user");
JSONObject json=new JSONObject();
JSONArray jsonArray=new JSONArray();
if(user!=null){
//
int dataCount = 0;
//
// pageNum = 1;
//
int pageCount = 0;
//
int pageSize = 6;
//
int startIndex = 0;
dataCount=photoService.countPhotoByUserid(user.getUserid());
if(dataCount%pageSize == 0){
pageCount = dataCount/pageSize;
}else {
pageCount = dataCount/pageSize + 1;
}
if(pageNum!=0){
startIndex = (pageNum-1)*pageSize;
}
List<Photo> photos=photoService.getPhotoByPageNumAndUserid(user.getUserid(), startIndex);
json.put("dataCount", dataCount);
json.put("pageNum", pageNum);
json.put("pageCount", pageCount);
jsonArray.add(photos);
jsonArray.add(json);
}else{
resp.sendRedirect("templates/login.jsp");
}
HttpEntity<JSONArray> httpEntity=new HttpEntity<JSONArray>(jsonArray);
return httpEntity;
}
jspコード
function showpage(pageNum) {
$.ajax({
url : "/shoots/myphotopage.do?pageNum=" + pageNum,
type : "get",
dataType : "json",
success : function(data) {
var objs = eval(data);
//
//list 。
//info 。
var list = objs[0];
var info = objs[1];
var page = "";
var result = "";
result = "<table class='table'><thead>";
result += "<tr><th> </th><th> </th><th> </th><th> </th><th style='width: 26px;'></th></tr>";
result += " </thead><tbody>";
// index ,element
$.each(list,function(index, element) {
//
result += "<tr>";
result += "<td>"
+ element.photoid
+ "</td>";
result += "<td>"
+ element.ptype.ptcon
+ "</td>";
result += "<td>"
+ element.phototime
+ "</td>";
result += "<td>"
+ element.likenum
+ "</td>";
result += "<td><button aria-hidden='true' data-toggle='modal' class='icon-pencil'";
result += "data-target='#showinfo' data-photoid='"
+ element.photoid
+ "' data-path='"
+ element.photoname
+ "'";
result += "data-remake='"
+ element.photoremake
+ "' onclick='iii()'></button> </td>";
result += "</tr>";
});
result += "</table>";
if (info.pageNum == 1) {
page += " ";
} else {
var up = info.pageNum - 1;
page += "<input type='button' name='first' value=' ' onclick='showpage(1)' /> <input type='button' name='up' value=' ' onclick='showpage("
+ up + ")' />"
}
if (info.pageNum == info.pageCount
|| info.pageCount == 0) {
page += " ";
}
if (info.pageNum < info.pageCount) {
var nex = info.pageNum + 1;
page += "<input type='button' name='first' value=' ' onclick='showpage("
+ nex
+ ")' /><input type='button' name='first' value=' ' onclick='showpage("
+ info.pageCount + ")' /> "
}
page += " " + info.dataCount + " "
+ info.pageNum + " / " + info.pageCount
+ " ";
$("#page").html(page);
$("#cont").html(result);
}
});
}