种一片花。 2017-06-28 10:52 采纳率: 0%
浏览 1582

easyUI datagrid赋值问题

因为前面是查询全部 没问题 但是现在加了时间条件查询 我只要查询数据库没有的空记录后

我再查数据库有的 或者全部的记录后台都可以查出来 但是datagrid不会显示 并且后台
还会报错 数组越界
我后台是用的List集合传的值,后台代码:
public List Query(String queryTime) {
String hql = "";
List list = new ArrayList();
if(queryTime.equals("")||queryTime==null){
hql="from Gasorder2";
}else{
hql="from Gasorder2 where buyGasTime like '%"+queryTime+"%'";
}
try {
Query query = session.createQuery(hql);
list = query.list();
} catch (Exception e) {
e.printStackTrace();
}finally{
session.close();
}

    return list;
}
datagrid数据:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8" %>

<%@ page import="Model.Gasorder2" %>
<%@ page import="dao.select" %>
<%@ page import="idao.iselect" %>
<%
String queryTime= request.getParameter("data").trim();
System.out.println("queryTime:"+queryTime);

//List<Object[]> list = new ArrayList<Object[]>();
List<Gasorder2> list = new ArrayList<Gasorder2>();
iselect dao = new select();
list = dao.Query(queryTime);

//获取客户端传递的分页参数
Integer pageSize = Integer.parseInt(request.getParameter("rows"));

//默认参数rows表示每页显示记录数
Integer pageNumber = Integer.parseInt(request.getParameter("page"));
//默认参数page表示当前页数
StringBuilder builder = new StringBuilder("{\"total\":"+list.size()+",\"rows\":[");
//计算分页开始记录数
int start  = (pageNumber-1)*pageSize;
//计算分页结束记录数
int end = start+pageSize;

//根据分页起始参数构建当前页的列表数据
for(int i=start;i<end && i<list.size();i++){
    System.out.println("数组大小:"+list.size());
    Gasorder2 gn = list.get(i);
    //System.out.println(gn.getBuyerAddress()+"~~~~~~"+i);
     String buyGasStatus = "";
     if(gn.getStatus().equals(11)){
        buyGasStatus = "写卡成功";
     }else{
        buyGasStatus = gn.getStatus().toString();
     }
     builder.append("{\"terminalName\":\""+gn.getTerminalName()
                    +"\",\"terminalId\":\""+gn.getTerminalId()
                    +"\",\"buyGasVolume\":\""+gn.getBuyGasVolume()
                    +"\",\"buyGasMoney\":\""+gn.getBuyGasMoney()
                    +"\",\"buyGasTime\":\""+gn.getBuyGasTime()
                    +"\",\"takePayMsg\":\""+gn.getTakePayMsg()
                    +"\",\"buyerAddress\":\""+gn.getBuyerAddress()
                    +"\",\"buyerName\":\""+gn.getBuyerName()
                    +"\",\"priceName\":\""+gn.getPriceName()
                    +"\",\"status\":\""+buyGasStatus
                    +"\",\"userCode\":\""+gn.getUserCode()
                    +"\",\"watchManufacturer\":\""+gn.getWatchManufacturer()
                    +"\",\"flowId\":\""+gn.getFlowId()
                    +"\"},");
    }

list.clear();

String gridJSON = builder.toString();
if(gridJSON.endsWith(",")){
    gridJSON = gridJSON.substring(0,gridJSON.lastIndexOf(","));
}
out.print(gridJSON.toString()+"]}");
System.out.println(gridJSON.toString()+"]}");

%>

  • 写回答

2条回答 默认 最新

  • 种一片花。 2017-06-28 10:49
    关注

    第一次查询 我输入条件 可以正常显示数据 第二次查询 输入正确的添加也没问题 但是我只要 输入错的条件或空条件查询就会报错:
    2017-6-28 18:40:45 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet [jsp] in context with path [/changjiGas] threw exception [java.lang.ArrayIndexOutOfBoundsException] with root cause
    java.lang.ArrayIndexOutOfBoundsException

    报错以后我就算输入正确的查询条件 后台可以查询出数据 但是datagrid前台就不会显示

    评论

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀