问题描述
打扰各位,最近在做这方面的项目,因为EXtjs是自学的,所以现在遇到Springside3封装了数据,不知道该怎么用EXtjs去请求,我大概想实现的是:点菜单栏,把包含数据的页面显示在右边。我不知道如何把SpringSide3的数据转换后放到一个页面上,然后用EXtjs加载,望知道或做过的朋友,指教指教,不甚感激! 问题补充:首先感谢各位好心了,看了回答,我明白了怎么去请求,但是还是不明白,怎么把springside3的数据在转换后返回去呢,Action里就一个return,我弄不清楚,怎么在springside3的Action获取数据,转换数据,然后返回,继续麻烦你们了
解决方案
使用json。。这个json插件会给你包装的。插件地址http://code.google.com/p/jsonplugin/附上一个使用实例http://ajava.org/course/ajax/14590.html
解决方案二:
http://code.google.com/p/springside/source/browse/springside3/trunk/modules/core/src/main/java/org/springside/modules/web/struts2/Struts2Utils.java?spec=svn1005&r=1005 这个网站的代码 应该适合你
解决方案三:
一个简单例子: <script type="text/javascript">Ext.onReady(function(){var sm =new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid.ColumnModel([sm, {header:'编号',dataIndex:'id',sortable:true}, {header:'名称',dataIndex:'name',sortable:true}, {header:'操作',dataIndex:'descn',sortable:true} ]); var reader = new Ext.data.JsonReader({ totalProperty: 'count', root: 'rows',// id:"id",//The property within each row object that provides an ID for the record (可选) fields:[ {name: 'id',mapping:"id"}, {name: 'name',mapping:"name"}, {name: 'descn',mapping:"descn"} ]}) var store = new Ext.data.Store({ proxy: Ext.data.HttpProxy({url:"对应后台一个地址"}) reader: reader }); var grid = new Ext.grid.GridPanel({ height: 200, applyTo: 'grid', width :310, store: store, cm: cm,sm:sm, frame:"true" }); store.load({params:{start:0,limit:5}});//请求后台}); </script> </head> <body> <div id="grid"></div> </body></html>后台返回的数据格式 { count:5,//总数 rows:[{id:'1',name:'name1d',descn:'descn1'},{id:'2',name:'name1d',descn:'descn1'},{id:'4',name:'name1d',descn:'descn1'},{id:'5',name:'name1d',descn:'descn1'},{id:'3',name:'name2',descn:'descn2'} ] }
解决方案四:
首先extjs和后台语言无关 如何请求如果是grid 一般都是store.load(这里可能有参数比方start或者limit)后台只要返回一个满足ext的grid数据格式就行 一般用json格式或者xml格式
解决方案五:
你点击菜单的时候肯定会触发一个Action的,Action返回的有数据,把这些返回的数据使用Extjs铺到页面上就行了,这个和平常的用的时候是一样的