后台实现JSON分页显示
Action:
/**
* 团单明细--团体投保信息
*/
public String teamInsure() {
//String grpcode = getRequestParameter("grpcode"); // 团体代码
String grpcode = "CHS000G01944";
https://www.360docs.net/doc/546538822.html,("grpcode:"+grpcode+"团体投保信息---");
List
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();
https://www.360docs.net/doc/546538822.html,(json);
out.write(json);
out.flush();
out.close();
} catch (Exception e) {
setRequestAttribute("msgInfo", "获取团体投保信息失败,请稍后再试");
setRequestAttribute("techInfo", "调用交易1216015返回失败");
e.printStackTrace();
https://www.360docs.net/doc/546538822.html,(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 = "共【" + this.allnum
+ "】条记录 每页显示"
+ this.pagesize
+ "条记录 共【"
+ this.pagecount
+ "】页 当前第"
+ this.nowpage + "页";
if (this.nowpage <= 1) {
} else {
this.pageText += " + this.path + 1 + "\" title='首页'>[首页]
this.pageText += " + this.path + (this.nowpage - 1) + "\" title='上一页'>[上一页]
}
if (this.nowpage >= this.pagecount) {
} else {
this.pageText += " + this.path + (this.nowpage + 1) + "\" title='下一页'>[下一页]
this.pageText += " + this.path + (this.pagecount) + "\" title='尾页'>[尾页]
}
this.pageText += "跳到第";
this.pageText += "";
this.pageText += "";
this.pageText += "页";
this.pageText += "";
} else
this.pageText = " 未查询到数据!!! ";
} 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 + "/";
%>
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+ '
'
'
'
'
'
'
'
'
'
'
'
}
$("#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+ '
'
'
'
'
'
'
'
'
'
'
'
'
'
}
} 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+ '
'
'
'
'
'
'
'
'
'
'
'
'
'
}
}
$("#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+ '
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
'
}
$("#test2").html(tr);
}
document.getElementById("null2").style.display = "none";
document.getElementById("notnull2").style.display = "block";
}
table{font-size: 13px;}
.tdr{text-align: right}
.tdl{text-align: center}
th{
font-weight: 100;
font-size: 12px;
}
font{font-size: 12px;}
团单明细查询 |
|