后台实现JSON分页显示
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Action:
/**
* 团单明细--团体投保信息
*/
public String teamInsure() {
//String grpcode = getRequestParameter("grpcode"); // 团体代码
String grpcode = "CHS000G01944";
("grpcode:"+grpcode+"团体投保信息---");
List<TeamInsureDTO> teamInsureList = new ArrayList<TeamInsureDTO>();
Pager pager = getPager("classDetailInfo/classDetailInfo_teamInsure.do?page=");
pager.setPagesize(3);
PageText pageText = null;
try {
teamInsureList = classDetailInfoServices.getTeamInsure(grpcode);
pageText = classDetailInfoServices.getPageText(teamInsureList, pager, teamInsureList.size());
JSONArray jsonArray = new JSONArray();
JSONObject jsonObject = new JSONObject();
for (int i = 0; i < teamInsureList.size(); i++) {
jsonObject.element("gappno", (teamInsureList.get(i)).getGappno());
jsonObject.element("gpolicyno", (teamInsureList.get(i)).getGpolicyno());
jsonObject.element("classcode", (teamInsureList.get(i)).getClasscode());
jsonObject.element("size", (teamInsureList.size()));
jsonObject.element("pagecount", ((teamInsureList.size() + 2) / 3));
String classcode = (teamInsureList.get(i)).getClasscode();
if (!FunctionUtils.isBlank(classcode)) {
String classname = classDetailInfoServices.getClassname(classcode); // 险种名称
jsonObject.element("classname", classname);
}else {
jsonObject.element("classname", "");
}
jsonObject.element("polist", (teamInsureList.get(i)).getPolist());
jsonObject.element("stat", (teamInsureList.get(i)).getStat());
jsonObject.element("sumamt", (teamInsureList.get(i)).getSumamt());
jsonObject.element("illamt", (teamInsureList.get(i)).getIllamt());
jsonObject.element("accamt", (teamInsureList.get(i)).getAccamt());
jsonObject.element("sickamt", (teamInsureList.get(i)).getSickamt());
jsonObject.element("medamt", (teamInsureList.get(i)).getMedamt());
jsonObject.element("tmount", (teamInsureList.get(i)).getTmount());
jsonObject.element("sappdate", (teamInsureList.get(i)).getSappdate());
jsonObject.element("allnum", (teamInsureList.get(i)).getAllnum());
jsonObject.element("size", (teamInsureList.size()));
jsonObject.element("pagecount", ((teamInsureList.size() + 2) / 3));
jsonArray.add(jsonObject);
}
response.setContentType("text/html");
response.setCharacterEncoding("GB2312");
PrintWriter out = response.getWriter();
String json = jsonArray.toString();
(json);
out.write(json);
out.flush();
out.close();
} catch (Exception e) {
setRequestAttribute("msgInfo", "获取团体投保信息失败,请稍后再试");
setRequestAttribute("techInfo", "调用交易1216015返回失败");
e.printStackTrace();
(e);
return "error";
}
return null;
}
############################################################################### ####################
分页实现方法:
package com.cpic.hbtx.util;
import java.util.ArrayList;
import java.util.List;
import com.cpic.hbhp.util.Pager;
public class PageText {
private int nowpage = 1; // 当前页数
private int pagesize; // 每页显示行数
private int startrow; // 开始分页行数
private int allnum; // 总记录数
private int pagecount; // 总页数
private String path; // 链接路径
private String pageText; // 页面显示
private List objlist = new ArrayList(); // 分页对象
public List getObjlist() {
return objlist;
}
public void setObjlist(List objlist) {
this.objlist = objlist;
}
public PageText(List list, Pager pager, int allnum) throws Exception { // 路径
this.path = pager.getPath();
// 总记录数
this.allnum = allnum;
// 每页显示行数
this.pagesize = pager.getPagesize();
// 当前页数
this.nowpage = pager.getPage();
// 总页数
this.pagecount = (this.allnum + this.pagesize - 1) / this.pagesize;
// 开始分页行数
this.startrow = this.nowpage * this.pagesize;
objlist = getList(list, startrow, pagesize, pagecount, nowpage);
getPageText();
}
/**
* 分页对象
*/
@SuppressWarnings("unchecked")
public List getList(List list, int startrow, int pagesize,int pagecount,int nowpage) { if (pagecount <= nowpage) {
for (int i = (startrow - pagesize);i < list.size();i ++) {
this.objlist.add(list.get(i));
}
} else {
for (int i = (startrow - pagesize);i < startrow;i ++) {
this.objlist.add(list.get(i));
}
}
return this.objlist;
}
/**
* 页面显示信息
*/
public String getPageText() {
try {
if (this.allnum != 0) {
this.pageText = "共【<font color=\"red\">" + this.allnum
+ "</font>】条记录 每页显示<font color=\"red\">"
+ this.pagesize
+ "</font>条记录 共【<font color=\"red\">"
+ this.pagecount
+ "</font>】页 当前第<font color=\"red\">"
+ this.nowpage + "</font>页";
if (this.nowpage <= 1) {
} else {
this.pageText += "<a style=\"color:#157DF0\" href=\""
+ this.path + 1
+ "\" title='首页'>[首页]</a> ";
this.pageText += "<a style=\"color:#157DF0\" href=\""
+ this.path + (this.nowpage - 1)
+ "\" title='上一页'>[上一页]</a> ";
}
if (this.nowpage >= this.pagecount) {
} else {
this.pageText += "<a style=\"color:#157DF0\" href=\""
+ this.path + (this.nowpage + 1)
+ "\" title='下一页'>[下一页]</a> ";
this.pageText += "<a style=\"color:#157DF0\" href=\""
+ this.path + (this.pagecount)
+ "\" title='尾页'>[尾页]</a> ";
}
this.pageText += "跳到第";
this.pageText += "<script text='text/javascript'>function inPage(){ var reg = /^\\d+$/;"
+ " var pageno=document.getElementById('pageno').value; "
+ " if(!reg.test(pageno) || parseInt(pageno)<=0){"
+ " alert('请输入有效页数'); return false;"
+ "}else if(pageno>"
+ this.pagecount
+ "){alert('输入的页数超过了总页数,请重新输入');return false; }else{window.location.href='"
+ this.path
+ "'+pageno;return true;"
+ "}} </script>";
this.pageText += "<input name='pageno' id='pageno' type='text' value='' size='5' />";
this.pageText += "页<input type='button' value='跳转' class='btn' onclick=\"javascript:inPage();\"/>";
this.pageText += "<input type='text' style='display: none;'/>";
} else
this.pageText = "<font color=red><strong> 未查询到数据!!! </strong></font>";
} catch (Exception e) {
e.printStackTrace();
}
return this.pageText;
}
}
############################################################################### ###
JSP:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="/view/common/tags.jsp"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<html>
<head>
<base href="<%=basePath%>">
<link href="include/css/css.css" rel="stylesheet" type="text/css" />
<link href="include/css/style.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="include/css/type.css" type="text/css">
<link rel="stylesheet" href="include/css/tab.css" type="text/css">
<SCRIPT src="include/jquery/jquery-1.5.1-min.js"></SCRIPT>
<SCRIPT src="include/js/public.js"></SCRIPT>
<SCRIPT src="include/js/tabmanager.js"></SCRIPT>
<script language="JavaScript" type="text/JavaScript">
function inPage(){
var reg = /^\d+$/;
var pageno=parseInt(document.getElementById("pageno2").value);
var pagecount2 = parseInt($("#pagecount2").text());
if(!reg.test(pageno) || parseInt(pageno)<=0){
alert('请输入有效页数');
return false;
}else if(pageno > pagecount2){
alert('输入的页数超过了总页数,请重新输入');
return false;
}else{
demand1(pageno);
return true;
}
}
function initview(){
showIframe();//初始化页面处理方法
//tab页
var tabID = new Array("team","person");
var tableIDs= new Array("teamTable","personTable");
setTabId(tabID,tableIDs);
}
function selectTab(num){
showSelectedTab(num);
if(num == null){
alert("tab页出错");
return;
}
}
function showIframe() { // 初始化时隐藏数据展示页
document.getElementById("notnull").style.display = "none";
document.getElementById("notnull1").style.display = "none";
document.getElementById("notnull2").style.display = "none";
}
//验证只能输入数字或小数,objName:错误提示中对象的名称
function checkValues(obj, objName){
var jgpattern =/^\d*(\.[0-9]+)?$/;
var value = obj.value;
if (value.length >0 && value.charAt(0) == '0' && value.charAt(1) == '0') {
alert(objName+"只能是15位以内的数字或小数点,请重新输入!");
obj.focus();
obj.value="";
return false;
}
if((value.length >0 && value.length <= 15 && !jgpattern.test(value)) || (value.length >15)){
alert(objName+"只能是15位以内的数字或小数点,请重新输入!");
obj.focus();
obj.value="";
return false;
}
return true;
}
function demand() { // 人员清单显示数据展示页
var sfzh = document.getElementById("sfzh");
var bc = document.getElementById("bc");
var lj = document.getElementById("lj");
if (!checkValues(bc,"本次转核保额超过")) {
bc.focus();
return false;
}
if (!checkValues(lj,"累计保额超过")) {
lj.focus();
return false;
}
if (IsEmptyValue(sfzh.value)){
alert("请填写身份证号");
sfzh.focus();
return false;
}
if (!isIdCardNo(sfzh.value)){
sfzh.focus();
return false;
var igappno = document.getElementById("igappno").value;
var iclasscode = document.getElementById("iclasscode").value;
var igrpcode = document.getElementById("igrpcode").value;
var ifsumpre = bc.value;
var isumpre = lj.value;
var ipid = sfzh.value;
$.getJSON("${pageContext.request.contextPath}/classDetailInfo/classDetailInfo_teamDetail. do?d="+Math.random(),{gappno:igappno,classcode:iclasscode,grpcode:igrpcode,fsumpre:ifsump re,sumpre:isumpre,pid:ipid},callback);
function callback(data) {
var tr = "";
for(var j = 0;j < data.length;j ++){
var appno = data[j].appno;
var classcode = data[j].classcode ;
var fpid = data[j].fpid;
var name = data[j].name;
var piece = data[j].piece;
var prsumpre = data[j].prsumpre;
var nprsumpre = data[j].nprsumpre;
var isblack = data[j].isblack;
var isclaim = data[j].isclaim;
var begdate = data[j].begdate;
var enddate = data[j].enddate;
tr = tr+ '<tr><td>'+'<input type="radio" name="detail" onclick="sendIdentity("'+begdate+'|'+fpid+'")"/>'+appno+
'</td><td>'+classcode+
'</td><td>'+fpid+
'</td><td>'+name+
'</td><td>'+piece+
'</td><td>'+prsumpre+
'</td><td>'+nprsumpre+
'</td><td>'+isblack+
'</td><td>'+isclaim+
'</td><td>'+begdate+
'</td><td>'+enddate+
'</td></tr>';
}
$("#test").html(tr);
$("#size1").html(data[0].size);
$("#pagecount1").html(data[0].pagecount);
}
document.getElementById("null").style.display = "none";
document.getElementById("notnull").style.display = "block";
}
function sendIdentity(str) {
var strr = str.split("|")
var begdate = strr[0];
var fpid = strr[1];
$("#fpid").text(fpid);
$("#begdate").text(begdate);
}
function demand1(pageno) {
var igrpcode = document.getElementById("igrpcode").value;
var startrow = pageno * 3;
$.getJSON("${pageContext.request.contextPath}/classDetailInfo/classDetailInfo_teamInsure. do?d="+Math.random(),{grpcode:igrpcode},callback);
function callback(data) {
var tr = "";
if(data[0].size <= pageno) {
for(var j = (startrow - 3);j < data.length;j ++){
var gappno = data[j].gappno;
var gpolicyno = data[j].gpolicyno;
var classcode = data[j].classcode;
var classname = data[j].classname;
var polist = data[j].polist;
var stat = data[j].stat;
var illamt = data[j].illamt;
var accamt = data[j].accamt;
var sickamt = data[j].sickamt;
var medamt = data[j].medamt;
var tmount = data[j].tmount;
var sappdate = data[j].sappdate;
var allnum = data[j].allnum;
tr = tr+ '<tr><td>'+gappno+
'</td><td>'+gpolicyno+
'</td><td>'+classcode+
'</td><td>'+classname+
'</td><td>'+polist+
'</td><td>'+stat+
'</td><td>'+illamt+
'</td><td>'+accamt+
'</td><td>'+sickamt+
'</td><td>'+medamt+
'</td><td>'+tmount+
'</td><td>'+sappdate+
'</td><td>'+allnum+
'</td></tr>';
}
} else {
for(var j = (startrow - 3);j < startrow;j ++){
var gappno = data[j].gappno;
var gpolicyno = data[j].gpolicyno;
var classcode = data[j].classcode;
var classname = data[j].classname;
var polist = data[j].polist;
var stat = data[j].stat;
var illamt = data[j].illamt;
var accamt = data[j].accamt;
var sickamt = data[j].sickamt;
var medamt = data[j].medamt;
var tmount = data[j].tmount;
var sappdate = data[j].sappdate;
var allnum = data[j].allnum;
tr = tr+ '<tr><td>'+gappno+
'</td><td>'+gpolicyno+
'</td><td>'+classcode+
'</td><td>'+classname+
'</td><td>'+polist+
'</td><td>'+stat+
'</td><td>'+illamt+
'</td><td>'+accamt+
'</td><td>'+sickamt+
'</td><td>'+medamt+
'</td><td>'+tmount+
'</td><td>'+sappdate+
'</td><td>'+allnum+
'</td></tr>';
}
}
$("#test1").html(tr);
$("#size2").html(data[0].size);
$("#currpage2").html(pageno);
$("#pagecount2").html(data[0].pagecount);
}
document.getElementById("null1").style.display = "none";
document.getElementById("notnull1").style.display = "block";
}
function demand2() {
var igappno = document.getElementById("igappno").value;
var ipid = $("#fpid").text();
var ibegdate = $("#begdate").text();
if (IsEmptyValue(ipid)) {
alert("查询前请选定一项团单明细记录");
return false;
}
$.getJSON("${pageContext.request.contextPath}/classDetailInfo/classDetailInfo_insuranced History.do?d="+Math.random(),{gappno:igappno,pid:ipid,begdate:ibegdate},callback);
function callback(data) {
var tr = "";
for(var j = 0;j < data.length;j ++){
var sappno = data[j].sappno;
var spolicyno = data[j].spolicyno;
var sclasscode = data[j].sclasscode ;
var sclassname = data[j].sclassname ;
var spolist = data[j].spolist;
var fillpre = data[j].fillpre;
var fsuddenpre = data[j].fsuddenpre;
var fgravepre = data[j].fgravepre;
var fmedicalpre = data[j].fmedicalpre;
var spayname = data[j].spayname;
var ftmount = data[j].ftmount;
var ftsumfee = data[j].ftsumfee;
var fpieces = data[j].fpieces;
var fdcdm = data[j].fdcdm;
var sappdate = data[j].sappdate;
var iyearnum = data[j].iyearnum;
tr = tr+ '<tr><td>'+sappno+
'</td><td>'+spolicyno+
'</td><td>'+sclasscode+
'</td><td>'+sclassname+
'</td><td>'+spolist+
'</td><td>'+fillpre+
'</td><td>'+fsuddenpre+
'</td><td>'+fgravepre+
'</td><td>'+fmedicalpre+
'</td><td>'+spayname+
'</td><td>'+ftmount+
'</td><td>'+ftsumfee+
'</td><td>'+fpieces+
'</td><td>'+fdcdm+
'</td><td>'+sappdate+
'</td><td>'+iyearnum+
'</td></tr>';
}
$("#test2").html(tr);
}
document.getElementById("null2").style.display = "none";
document.getElementById("notnull2").style.display = "block";
}
</script>
<style>
table{font-size: 13px;}
.tdr{text-align: right}
.tdl{text-align: center}
th{
font-weight: 100;
font-size: 12px;
}
font{font-size: 12px;}
</style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="initview()"> <span style="display: none;"><input type="text" id="igappno" value="<%=request.getParameter("gappno") %>"/></span>
<span style="display: none;"><input type="text" id="iclasscode" value="<%=request.getParameter("classcode") %>"/></span>
<span style="display: none;"><input type="text" id="igrpcode" value="<%=request.getParameter("grpcode") %>"/></span>
<table width="99%" cellspacing="0" cellpadding="0" class="titletable" style="margin-top: 10px;margin-left: 6px;">
<tr>
<td>团单明细查询</td>
</tr>
</table>
<center>
<table width="99%" style="margin-top: 5px;">
<tr>
<td>
<fieldset style="margin-left: 13px;">
<legend><font>人员清单---(红色代表个人累计保额超限)</font></legend>
<table width="98%" cellpadding="0" cellspacing="0" style="margin-left: 8px;">
<!-- 循环列表-->
<tr>
<td>本次转核保额超过(元):<input type="text" name="bc" id="bc" size="10""></td>
<td class="tdr">累计保额超过(元):<input type="text" name="lj" id="lj" size="10"></td>
<td colspan="2" class="tdr">身份证号:<input type="text" name="sfzh" id="sfzh" size="20%"></td>
<td class="tdr">
<input type="button" value="团单明细查询" style="cursor: hand;" onclick="demand();">
</td>
</tr>
</table>
<table width="98%" style="margin-left: 8px;margin-top: 2px;margin-bottom: 2px;" cellpadding="0" cellspacing="0">
<tr>
<td colspan="11">
<table id="null" class="listtable" width="100%" border="1" bordercolor="gray" cellpadding="0" cellspacing="0">
<tr>
<th>投保单号</th>
<th>险种代码</th>
<th>身份证</th>
<th>姓名</th>
<th>份数</th>
<th>个人累计保额</th>
<th>本次转核累计保额</th>
<th>是否黑灰名单</th>
<th>是否有理赔</th>
<th>责任起始日期</th>
<th>责任终止日期</th>
</tr>
<tr id="odd">
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
</tr>
<tr id="even">
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
</tr>
<tr id="odd">
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
<td class="tdl"> </td>
</tr>
<tr>
<td colspan="11" align="center">共【<font color="red">0</font>】条记录 每页显示<font color="red">3</font>条记录 共【<font color="red">1</font>】页 当前第<font color="red">1</font>页 跳到第<input name='pageno' id='pageno' type='text' value='' size='5' />页<input type='button' value='跳转' style="cursor: hand;" class='btn' onClick="javascript:inPage();"/></td>
</tr>
</table>
<table id="notnull" class="listtable" width="100%"
border="1" bordercolor="gray" cellpadding="0" cellspacing="0">
<tr>
<td colspan="11" align="right" style="background:#eef6ff;text-align: right">
被保人数:<font color="red">2</font> 每页最多个单数为:<font color="red">58</font> 当前总页数:<font color="red">1</font> 当前个单数:<font color="red">2</font>
</td>
</tr>
<tr>
<th>投保单号</th>
<th>险种代码</th>
<th>身份证</th>
<th>姓名</th>
<th>份数</th>
<th>个人累计保额</th>
<th>本次转核累计保额</th>
<th>是否黑灰名单</th>
<th>是否有理赔</th>
<th>责任起始日期</th>
<th>责任终止日期</th>
</tr>
<tbody id="test">
</tbody>
<tr>
<td colspan="11" align="center">
共【<font color="red" id="size1"></font>】条记录 每页显示<font color="red">3</font>条记录 共【<font color="red" id="pagecount1"></font>】页 当前第<font color="red">1</font>页 跳到第<input name='pageno' id='pageno' type='text' value='' size='5' />页<input type='button' value='跳转' style="cursor: hand;" class='btn' onClick="javascript:inPage();"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="98%" cellpadding="0" cellspacing="0" style="margin-left: 8px;">
<tr>
<td class="tdr">
<img src="include/images/Return_CHN.gif"
onclick="javascript:history.back(-1);" style="cursor:hand"/>
</td>
</tr>
</table>
</fieldset>
</td>
</tr>
<tr>
<td>
<div id="tabs0">
<center>
<table width="100%">
<tr>
<td>
<table id="tab" style="LINE-HEIGHT: normal; FONT-STYLE: normal; FONT-VARIANT: normal; margin-top: 10px;color: blue;" cellSpacing="0" cellPadding="0" width="20%">
<tr>
<td class="tabFocus" id="team" onclick="selectTab('0')" width="100" height="10"><font>团体投保信息</font></td>
<td class="tabNormal" id="person" onclick="selectTab('1')" width="100" height="10"><font>个人投保信息</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<!--团体投保信息table-->
<div id="teamTable">
<fieldset>
<legend><font>团体投保信息</font></legend>
<table width="98%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="13">
<table id="null1" class="listtable" width="100%" border="1" bordercolor="gray" cellpadding="0" cellspacing="0">
<tr>
<th>投保单号</th>
<th>保单号</th>
<th>险种代码</th>
<th>险种名称</th>
<th>主附险</th>
<th>保单状态</th>
<th>疾病死亡保额</th>
<th>意外死亡保额</th>
<th>重大疾病保额</th>
<th>医疗费用保额</th>
<th>总保费</th>
<th>投保日期</th>
<th>总人数</th>
</tr>
<tr id="odd">
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
<td
class="tdl"> </td>
</tr>
<tr id="even">
<td。