ssh easyui datagrid不显示数据,菜鸟不知道如何解决
ssh easyui datagrid不显示数据,初学者不知道怎么解决
本人在学习easyui,使用datagrid时没有拿到后台数据
下面是action文件 SortPageAction.java
package com.hysd.action;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.json.simple.JSONObject;
import com.hysd.service.PlanService;
import com.hysd.service.RecordService;
import com.hysd.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
public class SortPageAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
@Resource
private PlanService planService; // 通过Spring 注解 planService CTRL+鼠标点击
private Integer planId;
private Date planStartDate;
private Date planEndDate;
private Date planSubmitDate;
private String planTitle;
private String planContent;
private Integer planState;
private String rows;// 每页显示的记录数
private String page;// 当前第几页
private List list = new ArrayList();
private JSONObject jsonObj = new JSONObject();
// 查询出所有学生信息
public String getAllPlan() throws Exception {
String hql = "FROM Plan";
list = planService.getList(page, rows);
toBeJson(list, planService.count(hql).intValue());
System.out.println("page----" + page);
System.out.println("rows----" + rows);
return SUCCESS;
}
// 转化为Json格式
public void toBeJson(List list, int total) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
jsonObj.put("total", total);// total代表一共有多少数据
jsonObj.put("list", list);// row是代表显示的页的数据
response.setCharacterEncoding("utf-8");// 指定为utf-8
response.getWriter().write(jsonObj.toString());// 转化为JSOn格式
System.out.println("jobj.toString()----" + jsonObj.toString());
}
public Integer getPlanId() {
return planId;
}
public void setPlanId(Integer planId) {
this.planId = planId;
}
public String getRows() {
return rows;
}
public void setRows(String rows) {
this.rows = rows;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public Date getPlanStartDate() {
return planStartDate;
}
public void setPlanStartDate(Date planStartDate) {
this.planStartDate = planStartDate;
}
public Date getPlanEndDate() {
return planEndDate;
}
public void setPlanEndDate(Date planEndDate) {
this.planEndDate = planEndDate;
}
public Date getPlanSubmitDate() {
return planSubmitDate;
}
public void setPlanSubmitDate(Date planSubmitDate) {
this.planSubmitDate = planSubmitDate;
}
public String getPlanTitle() {
return planTitle;
}
public void setPlanTitle(String planTitle) {
this.planTitle = planTitle;
}
public String getPlanContent() {
return planContent;
}
public void setPlanContent(String planContent) {
this.planContent = planContent;
}
public Integer getPlanState() {
return planState;
}
public void setPlanState(Integer planState) {
this.planState = planState;
}
}
这个是jsp: success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>planlist</title>
<link rel="stylesheet" type="text/css" href="themes/icon.css" />
<link rel="stylesheet" type="text/css" href="themes/default/easyui.css" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<script type="text/javascript">
$(function() {
$('#mydatagrid').datagrid({
title : 'datagrid实例',
iconCls : 'icon-ok',
width : 600,
method : 'post',
pageSize : 5,//默认选择的分页是每页5行数据
pageList : [ 5, 10, 15, 20 ],//可以选择的分页集合
nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
striped : true,//设置为true将交替显示行背景。
collapsible : true,//显示可折叠按钮
toolbar:"#tb",//在添加 增添、删除、修改操作的按钮要用到这个
url:'getAllPlan.do',//url调用Action方法
loadMsg : '数据装载中......',
singleSelect:true,//为true时只能选择单行
fitColumns:true,//允许表格自动缩放,以适应父容器
//sortName : 'xh',//当数据表格初始化时以哪一列来排序
//sortOrder : 'desc',//定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。
remoteSort : false,
frozenColumns : [ [ {
field : 'ck',
checkbox : true
} ] ],
pagination : true,//分页
rownumbers : true,//行数
});
});
</script>
</head>
<body>
<h2>
<b>easyui的DataGrid实例</b>
</h2>
<table id="mydatagrid">
<thead>
<tr>
<th data-options="field:'planTitle',width:100,align:'center'">计划标题</th>
<th data-options="field:'planState',width:100,align:'center'">计划状态</th>
<!-- 先只试试这两个属性,看看前台显示 -->
</tr>
</thead>
</table>
</body>
</html>
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="json" extends="json-default">
<action name="getAllPlan" class="com.hysd.action.SortPageAction" method="getAllPlan">
<result name="success" type="json" />
</action>
</package>
</struts>
运行页面显示:

情况就是后台没有数据显示,但是我的hql语句查到了,麻烦好心的朋友告诉我怎么解决,或者你们有什么源码示例给我
发一份,
------解决思路----------------------
1.你看你的请求 action能接受到没有
2.用浏览器调试 看看请求响应有没有数据
------解决思路----------------------
easyui 就是前台页面请求url给后台,后台返回适合插件的json数据,
建议首先检查 前台页面是否调用了action
其次 检查action返回的json数据格式是否正确
最后 检查前台页面是否接收到数据
------解决思路----------------------
返回的数据不管是封装数据的普通对象还是json对象,必须有key值为rows的属性,datagrid会从对象中取key值为rows对应的
value值作为显示数据。
------解决思路----------------------
看看你返回的数据格式对不
------解决思路----------------------
首先你要确保LIST数据进入到了ACTION里面,然后再看看从LIST-->JSON的过程有没有执行,如果这个过程没有执行,也没有错误提示,那9成是使用JSON转换LIB的JAR包引入不全。我不知道你那种方法能不能成,我这种是可以的:
先引用以下JAR包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-fileupload-1.3.1.jar
commons-lang-2.6.jar
commons-lang3-3.4.jar
commons-logging-1.1.3.jar
ezmorph-1.0.6.jar
freemarker-2.3.19.jar
json-lib-2.1.jar
json-lib-2.2.2-jdk15.jar
morph-1.1.1.jar
xom-1.2.6.jar
xwork-core-2.3.20.jar
struts2-json-plugin-2.3.4.jar
有可能有些包是多余的,但我是为了确保成功都引用了。如果少包就会语句不执行,但也不报错的情况。
struts.xml中:
<package name="default" namespace="/" extends="json-default">
<action name="studentInfo" class="studentInfo_action" method="getAllStudentInfo">
<result type="json">
<param name="root">result</param>
</result>
</package>
ACTION中:
public String getAllStudentInfo() throws Exception
{
List<StudentInfo> Studentlist = studentInfo_services.getAllStudentInfo(rows, pages);
Map<String, Object> jsonMap = new HashMap<String, Object>();
jsonMap.put("total", Studentlist.size());//total键 存放总记录数,必须的
jsonMap.put("rows", Studentlist);//rows键 存放每页记录 list
result = JSONObject.fromObject(jsonMap);//格式化result 一定要是JSONObject
return SUCCESS;
}
ACTION中相关的import(与这一小段代码相关的import贴出来,其他的没贴了):
import java.util.HashMap;
import net.sf.json.JSONObject;
import java.util.Map;
我这样是成功了的。祝你也成功
本人在学习easyui,使用datagrid时没有拿到后台数据
下面是action文件 SortPageAction.java
package com.hysd.action;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts2.ServletActionContext;
import org.json.simple.JSONObject;
import com.hysd.service.PlanService;
import com.hysd.service.RecordService;
import com.hysd.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
public class SortPageAction extends ActionSupport {
/**
*
*/
private static final long serialVersionUID = 1L;
@Resource
private PlanService planService; // 通过Spring 注解 planService CTRL+鼠标点击
private Integer planId;
private Date planStartDate;
private Date planEndDate;
private Date planSubmitDate;
private String planTitle;
private String planContent;
private Integer planState;
private String rows;// 每页显示的记录数
private String page;// 当前第几页
private List list = new ArrayList();
private JSONObject jsonObj = new JSONObject();
// 查询出所有学生信息
public String getAllPlan() throws Exception {
String hql = "FROM Plan";
list = planService.getList(page, rows);
toBeJson(list, planService.count(hql).intValue());
System.out.println("page----" + page);
System.out.println("rows----" + rows);
return SUCCESS;
}
// 转化为Json格式
public void toBeJson(List list, int total) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
HttpServletRequest request = ServletActionContext.getRequest();
jsonObj.put("total", total);// total代表一共有多少数据
jsonObj.put("list", list);// row是代表显示的页的数据
response.setCharacterEncoding("utf-8");// 指定为utf-8
response.getWriter().write(jsonObj.toString());// 转化为JSOn格式
System.out.println("jobj.toString()----" + jsonObj.toString());
}
public Integer getPlanId() {
return planId;
}
public void setPlanId(Integer planId) {
this.planId = planId;
}
public String getRows() {
return rows;
}
public void setRows(String rows) {
this.rows = rows;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public Date getPlanStartDate() {
return planStartDate;
}
public void setPlanStartDate(Date planStartDate) {
this.planStartDate = planStartDate;
}
public Date getPlanEndDate() {
return planEndDate;
}
public void setPlanEndDate(Date planEndDate) {
this.planEndDate = planEndDate;
}
public Date getPlanSubmitDate() {
return planSubmitDate;
}
public void setPlanSubmitDate(Date planSubmitDate) {
this.planSubmitDate = planSubmitDate;
}
public String getPlanTitle() {
return planTitle;
}
public void setPlanTitle(String planTitle) {
this.planTitle = planTitle;
}
public String getPlanContent() {
return planContent;
}
public void setPlanContent(String planContent) {
this.planContent = planContent;
}
public Integer getPlanState() {
return planState;
}
public void setPlanState(Integer planState) {
this.planState = planState;
}
}
这个是jsp: success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>planlist</title>
<link rel="stylesheet" type="text/css" href="themes/icon.css" />
<link rel="stylesheet" type="text/css" href="themes/default/easyui.css" />
<script type="text/javascript" src="js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" src="js/jquery.easyui.min.js"></script>
<script type="text/javascript">
$(function() {
$('#mydatagrid').datagrid({
title : 'datagrid实例',
iconCls : 'icon-ok',
width : 600,
method : 'post',
pageSize : 5,//默认选择的分页是每页5行数据
pageList : [ 5, 10, 15, 20 ],//可以选择的分页集合
nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
striped : true,//设置为true将交替显示行背景。
collapsible : true,//显示可折叠按钮
toolbar:"#tb",//在添加 增添、删除、修改操作的按钮要用到这个
url:'getAllPlan.do',//url调用Action方法
loadMsg : '数据装载中......',
singleSelect:true,//为true时只能选择单行
fitColumns:true,//允许表格自动缩放,以适应父容器
//sortName : 'xh',//当数据表格初始化时以哪一列来排序
//sortOrder : 'desc',//定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。
remoteSort : false,
frozenColumns : [ [ {
field : 'ck',
checkbox : true
} ] ],
pagination : true,//分页
rownumbers : true,//行数
});
});
</script>
</head>
<body>
<h2>
<b>easyui的DataGrid实例</b>
</h2>
<table id="mydatagrid">
<thead>
<tr>
<th data-options="field:'planTitle',width:100,align:'center'">计划标题</th>
<th data-options="field:'planState',width:100,align:'center'">计划状态</th>
<!-- 先只试试这两个属性,看看前台显示 -->
</tr>
</thead>
</table>
</body>
</html>
struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="json" extends="json-default">
<action name="getAllPlan" class="com.hysd.action.SortPageAction" method="getAllPlan">
<result name="success" type="json" />
</action>
</package>
</struts>
运行页面显示:
情况就是后台没有数据显示,但是我的hql语句查到了,麻烦好心的朋友告诉我怎么解决,或者你们有什么源码示例给我
发一份,
------解决思路----------------------
1.你看你的请求 action能接受到没有
2.用浏览器调试 看看请求响应有没有数据
------解决思路----------------------
easyui 就是前台页面请求url给后台,后台返回适合插件的json数据,
建议首先检查 前台页面是否调用了action
其次 检查action返回的json数据格式是否正确
最后 检查前台页面是否接收到数据
------解决思路----------------------
返回的数据不管是封装数据的普通对象还是json对象,必须有key值为rows的属性,datagrid会从对象中取key值为rows对应的
value值作为显示数据。
------解决思路----------------------
看看你返回的数据格式对不
------解决思路----------------------
首先你要确保LIST数据进入到了ACTION里面,然后再看看从LIST-->JSON的过程有没有执行,如果这个过程没有执行,也没有错误提示,那9成是使用JSON转换LIB的JAR包引入不全。我不知道你那种方法能不能成,我这种是可以的:
先引用以下JAR包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-fileupload-1.3.1.jar
commons-lang-2.6.jar
commons-lang3-3.4.jar
commons-logging-1.1.3.jar
ezmorph-1.0.6.jar
freemarker-2.3.19.jar
json-lib-2.1.jar
json-lib-2.2.2-jdk15.jar
morph-1.1.1.jar
xom-1.2.6.jar
xwork-core-2.3.20.jar
struts2-json-plugin-2.3.4.jar
有可能有些包是多余的,但我是为了确保成功都引用了。如果少包就会语句不执行,但也不报错的情况。
struts.xml中:
<package name="default" namespace="/" extends="json-default">
<action name="studentInfo" class="studentInfo_action" method="getAllStudentInfo">
<result type="json">
<param name="root">result</param>
</result>
</package>
ACTION中:
public String getAllStudentInfo() throws Exception
{
List<StudentInfo> Studentlist = studentInfo_services.getAllStudentInfo(rows, pages);
Map<String, Object> jsonMap = new HashMap<String, Object>();
jsonMap.put("total", Studentlist.size());//total键 存放总记录数,必须的
jsonMap.put("rows", Studentlist);//rows键 存放每页记录 list
result = JSONObject.fromObject(jsonMap);//格式化result 一定要是JSONObject
return SUCCESS;
}
ACTION中相关的import(与这一小段代码相关的import贴出来,其他的没贴了):
import java.util.HashMap;
import net.sf.json.JSONObject;
import java.util.Map;
我这样是成功了的。祝你也成功