读书人

Struts2 结合easyui datagrid的有关问

发布时间: 2013-01-12 16:25:03 作者: rapoo

Struts2 结合easyui datagrid的问题
由于刚学习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中却没有显示那一条记录。为什么呢?
[解决办法]
你用FIREFOX的FIREBUG调试下,看下响应是否正确,另外好像JSON的字符串要用双引号。
[解决办法]
如果要拼字符串方式的话。。。我记得格式不是这么拼的,total\row是不用'号的。。你可以上官网看看例子
[解决办法]
LZ,自己debug进去看下,返回是否有值
然后你的datagrid,都不设置表头的??

[解决办法]
那个你的return 肿么的?
[解决办法]
楼主的格式没有问题。唯一的问题就是你发给客户端的不是json而是字符串。你要在获得输出流之前设置响应头。response.setContentType("application/json");声明json而不是字符串。这样datagrid才能解析

读书人网 >J2EE开发

热点推荐