由于刚学习struts2不久,所以还请java达人们看看这个问题。先贴代码吧。
JSP页面片段:
<script>
$(function(){
$('#test').datagrid({
title:'My DataGrid',
iconCls:'icon-save',
width:700,
height:600,
nowrap: true,
autoRowHeight: false,
striped: true,
collapsible:true,
url:'/json/showall'
.................
................
</script>struts.xml配置文件片段:
<package name="jsoncl" namespace="/json" extends="json-default">
<action name="showall" class="com.aaa.actions.ShowAllAction">
<result name="success" type="json">/WEB-INF/result.jsp</result>
</action>
</package>
action:
public class ShowAllAction extends ActionSupport implements ServletResponseAware{ private static final long serialVersionUID = 1L;
private HttpServletResponse response;
public String execute() throws Exception{
String str = "{'total':1,'rows':[{'code':'001','name':'Name 1','addr':'Address 11','col4':'col4 data'}]}";
PrintWriter pw = response.getWriter();
pw.print(str);
return SUCCESS;
} public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response = response;
}}问题来了,action确实是运行的,没抱错。但是在easyui的datagrid中却没有显示那一条记录。为什么呢?
JSP页面片段:
<script>
$(function(){
$('#test').datagrid({
title:'My DataGrid',
iconCls:'icon-save',
width:700,
height:600,
nowrap: true,
autoRowHeight: false,
striped: true,
collapsible:true,
url:'/json/showall'
.................
................
</script>struts.xml配置文件片段:
<package name="jsoncl" namespace="/json" extends="json-default">
<action name="showall" class="com.aaa.actions.ShowAllAction">
<result name="success" type="json">/WEB-INF/result.jsp</result>
</action>
</package>
action:
public class ShowAllAction extends ActionSupport implements ServletResponseAware{ private static final long serialVersionUID = 1L;
private HttpServletResponse response;
public String execute() throws Exception{
String str = "{'total':1,'rows':[{'code':'001','name':'Name 1','addr':'Address 11','col4':'col4 data'}]}";
PrintWriter pw = response.getWriter();
pw.print(str);
return SUCCESS;
} public void setServletResponse(HttpServletResponse response) {
// TODO Auto-generated method stub
this.response = response;
}}问题来了,action确实是运行的,没抱错。但是在easyui的datagrid中却没有显示那一条记录。为什么呢?
然后你的datagrid,都不设置表头的??
首先,json的字符串拼接确实可能是要用双引号,但是在ie8的环境下单引号也不报错。
4楼的兄弟,我的表头是写在<script>里面的。
5楼的兄弟说的对,return 应该是null而不是SUCCESS
分给大家。